C#示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//SimpleProgram.cs
using System; //注释:引入命名空间
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Simple
{
class Program //Program类
{
static void Main(string[] args) //Main方法
{
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()
{
//more
}

空白

程序中的空白指的是没有可视化输出的字符。空白字符包括:

  • 空格Space
  • 制表符Tab
  • 换行符
  • 回车符

语句

语句是描述一个类型或告诉程序去执行某个动作的一条源代码指令。
简单语句以一个分号结束。

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(格式字符串(含替代标记), 替换值0, 替换之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); //左对齐
/*
* | 500|
* |500 |
*/

格式字段

格式字段指定了数字应该以哪种形式表示。(货币,十进制,十六进制还是顶点符号?等)
格式字段有三部分组成:

  • 冒号后必须紧更着格式说明符,中间不能有空格。
  • 格式说明符是一个字母字符,是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}");

注释

类型 符号
单行注释 //
带分隔符的注释 /* */
文档注释 ///