C#示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Simple { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.ReadKey(); } } }
|
标识符
标识符是一种字符串,用来命名变量,方法,参数等其他程序结构。命名规则:
C#基本语法|标识符
- 标识符必须以字母、下划线或@开头,后面可以跟一系列的字母、数字(0-9)、下划线(_)、@。
- 标识符中的第一个字符不能是数字。
- 标识符必须不包含任何嵌入的空格或符号,比如
? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
- 标识符不能是C#关键字。除非它们有一个@前缀。 例如:@if是有效的标识符,但if不是,因为if是关键字。
- 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
- 不能与C#的类库名称相同。
- @字符只能放在标识符的首位。但不推荐@用作常用字符。
常用的标识符命名风格:
| 风格名称 |
描述 |
示例 |
| Pascal命名规范 |
标识符中每个单词的首字母都大写 |
CardDeck,Dealershand |
| Camel(驼峰命名法) |
标识符中首个单词的首字母小写,其余单词的首字母大写 |
totalCycleCount |
| 下划线加_Camel |
以下划线开头的Camel标识符 |
_cycleCount |
关键字
C#基本语法|关键字列表
Main
每个C#程序必须有一个类带有Main方法(函数)。
每个C#程序的可执行起点在Main中的第一条指令。
Main必须首字母大写。
1 2 3 4
| static void Main() { }
|
空白
程序中的空白指的是没有可视化输出的字符。空白字符包括:
语句
语句是描述一个类型或告诉程序去执行某个动作的一条源代码指令。
简单语句以一个分号结束。
1 2
| int var1 = 5; System.Console.WriteLine("The value of var1 is {0}", var1);
|
块
块是一个由成对大括号包围的0条或多条语句序列。语句主要有3种类型:
- 声明语句 声明类型或变量
- 嵌入语句 执行动作或管理控制流程
- 标签语句 控制挑战
1 2 3 4
| { int var1 = 5; System.Console.WriteLine("The value of var1 is {0}", var1); }
|
从程序中输出文本
BCL提供了一个名为Console的类(属于System命名空间中),该类包含了将数据输入和输出到控制台窗口的方法。
Write与WriteLine
1 2
| Console.Write("This is text."); Console.WriteLine("This is text.");
|
格式化字符串
1 2
| Console.WriteLine("Two sample integers are {0} and {1}.", 3, 6);
|
C#6.0引入了一种更简单易懂的方式表述参数化字符串的语法,称为字符串插值。
字符串前面要加上$符号。
1 2 3 4
| int var1 = 3; int var2 = 6;
Console.WriteLine($"Two sample integers are {var1} and {var2}.");
|
多重标记和值
在c#中,可以使用任意数量的替代标记和任意数量的值。
- 值可以任何顺序使用。
- 值可以在格式字符串中替换任意次。
- 标记不能试图引用超出替换值列表长度以外位置的值。
1
| Console.WriteLine("Three integers are {1}, {0} and {1}.", 3, 6);
|
格式化数字字符串

![[csharp_3_simple_format.png]]
1 2 3 4 5
| Console.WriteLine("The value: {0}.", 500); Console.WriteLine("The value: {0:C}.", 500); int myInt = 500; Console.WriteLine($"The value: {myInt}."); Console.WriteLine($"The value: {myInt:C}.");
|
对齐说明符
1 2 3 4 5 6 7 8
| Console.WriteLine("{0, 10}", 500); int myInt = 500; Console.WriteLine("|{0, 10}|", myInt); Console.WriteLine("|{0, -10}|", myInt);
|
格式字段
格式字段指定了数字应该以哪种形式表示。(货币,十进制,十六进制还是顶点符号?等)
格式字段有三部分组成:
- 冒号后必须紧更着格式说明符,中间不能有空格。
- 格式说明符是一个字母字符,是9个内置字符格式之一。
- 精度说明符是可选的,由1~2位数字组成。

![[csharp_3_simple_format2.png]]
标准数字格式说明符
| 名字和字符 |
说明 |
| 货币C,c |
Console.WriteLine(“{0:C}”,12.5); 输出:$12.50 |
| 十进制D,d |
Console.WriteLine(“{0:D4}”,12); 输出:0012 |
| 定点F,f |
Console.WriteLine(“{0:F4}”,12.3456789); 输出:12.3457 |
| 常规G,g |
Console.WriteLine(“{0:G4}”,12.345678); 输出:12.35 |
| 十六进制X,x区分大小写 |
Console.WriteLine(“{0:x}”, 180026); 输出:2bf3a |
| 数字N,n |
Console.WriteLine(“{0:N2}”, 12345678.54321); 输出:12,345,678.54 |
| 百分比P,p |
Console.WriteLine(“{0:P2}”, 0.1221897); 输出:12.22% |
| 往返过程R,r |
Console.WriteLine(“{0:R}”, 1234.21897); 输出:1234.21897 |
| 科学计数法E,e区分大小写 |
Console.WriteLine(“{0:e4}”, 12.3456789); 输出:1.2346e+001 |
1 2
| double var1 = 3.14159; System.Console.WriteLine($"The value of var1 is {var1,10:f5}");
|
注释
| 类型 |
符号 |
| 单行注释 |
// |
| 带分隔符的注释 |
/* */ |
| 文档注释 |
/// |