02010301 C#编程概述
02010301 C#编程概述
1. Main:程序的起始点
using System; // 告诉编译器使用System命名空间的类型。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo01 // 声明一个新的命名空间,名称为Demo01。
{
class Program // 声明一个新的类类型,名称为Program。
{
static void Main(string[] args) // 声明一个名称为Main的方法作为Program类的成员,Main是一个特殊函数,编译器用它作为程序的起点。
{
}
}
}
说明:
1. 每个C#程序必须有一个类带有Main方法,Main方法可以声明在Program类中,也可以声明在其它类中。
2. 每个C#程序的可执行起始点在Main中的第一条指令。
2. 语句
2.1 什么是语句
- 语句是描述一个类型,或者告诉程序去执行某个动作的一条源代码指令。
2.2 简单语句
- 简单语句以一个分号结束。
int a = 10;
2.3 块
- 块是一个由成对大括号包围的0条或多条语句序列,他在语法上相当于一条语句。
{
int a = 10;
Console.WriteLine("Hi Qinway");
}
说明:简单语句以分号结束,但块后面不跟分号。
3. 从程序中输出文本
3.1 Write
- Write是Console类的成员,它把一个文本字符串发送到程序的控制台窗口。
Console.Write("Hi Qinway");
控制台(屏幕)输出:
Hi Qinway
—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—
Console.Write("Hi Qinway01")
Console.Write("Hi Qinway02")
Console.Write("Hi Qinway03")
控制台输出:
Hi Qinway01Hi Qinway02Hi Qinway03
说明:Write没有在字符串后面添加换行符,所以三条语句都输出到同一行。
3.2 WriteLine
- WriteLine是Console类的另一个成员,它和Write有相同的功能,但是会在每个输出字符串的结尾添加换行符。
Console.WriteLine("Hi Qinway01")
Console.WriteLine("Hi Qinway02")
Console.WriteLine("Hi Qinway03")
控制台(屏幕)输出:
Hi Qinway01
Hi Qinway02
Hi Qinway03
3.3 格式字符串
- Write和WriteLine的常规形式可以有一个或一个以上的参数。
- 如果不止一个参数,参数间可以用逗号分隔。
- 第一个参数必须总是字符串,被成为格式字符串。格式字符串可以包含替代标记。
- 替代标记在格式字符串中标出位置,在输出串中该位置将用一个值来替代。
- 替代标记由一个整数及扩住它的一对大括号组成。
- 整数就是替换值的数字位置。
- 跟着格式字符串的参数称为替换值,这些替换值从0开始编号。
// 格式字符串语法格式
Console.WriteLine(格式字符串(含替代标记), 替换值0, 替换值1, 替换值2, ...);
—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—
Console.WriteLine("我是{0},正在看{1}。", "Qinway", "C#图解教程");
控制台(屏幕)输出:
我是Qinway,正在看C#图解教程。
3.4 字符串插值
- 字符串插值 → 从C# 6.0引入了一种更简单的方式表述参数化字符串的语法。
- 通过直接在替代标记内插入变量名实现,此时替代标记告诉编译器这个变量名将被视为一个变量,而不是字符串字面量。
- 使用字符串插值,需要在字符串前面加上$符号。
string str01 = "Qinway";
string str02 = "C#图解教程";
Console.WriteLine($"我是{str1},正在看{str2}。");
控制台(屏幕)输出:
我是Qinway,正在看C#图解教程。
3.5 多重标记和值
- C#中可以使用任意数量的替代标记和任意数量的值。
- 值可以以任何顺序使用。
- 值可以在格式字符串中替换任意次。
Console.WriteLine("我是{0},正在看{1},{0}做笔记很认真。", "Qinway", "C#图解教程");
控制台(屏幕)输出:
我是Qinway,正在看C#图解教程,Qinway做笔记很认真。
说明:值1被用在了值0之前,并且值1使用了2次。
- 标记不能引用超出替换值列表长度以外位置的值,如果引用了不会产生编译错误,但会产生运行时错误(称为异常)。
Console.WriteLine("我是{0},正在看{1},{2}做笔记很认真。", "Qinway", "C#图解教程"); // 报错
3.6 格式化数字字符串
- 在很多时候,我们希望以更合适的格式而不是一个简单的数字呈现字符串的输出。
Console.WriteLine("价格是{0}。", 500);
Console.WriteLine("价格是{0:C}。", 500); // 注意C前面不能有空格。
控制台(屏幕)输出:
价格是500。
价格是¥500.00。
—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—
// 对齐说明符
Console.WriteLine("价格是{0, 8}。", 500);
Console.WriteLine("价格是{0, -8}。", 500);
Console.WriteLine("我是{0, 3}。", "Qinway");
控制台(屏幕)输出:
价格是 500。
价格是500 。
我是Qinway。
说明:
1. 格式说明符的第一项是索引号或字符串插值变量。
2. 对齐说明符表示字段中字符的最小宽度,有如下特性:
2.1 对齐说明符是可选的,并且用逗号来和索引号分离。
2.2 对齐说明符由一个正整数或负整数组成,整数表示字段使用字符的最小数量,正整数表示右对齐,负整数表示左对齐。
2.3 如果要表示的字符数比对齐说明符中指定的字符数少,那么其余字符会使用空格填充。
2.4 如果要表示的字符数比对齐说明符中指定的字符数多,那么对齐说明符会被忽略,并使用所需的字符进行表示。
3.7 格式字段
- 格式字段指定了数字应该以哪种形式表示。例如,应该表示为货币,十进制数字,十六禁止数字还是定点符号。
- 格式说明符是一个子母字符,是9个内置字符格式之一,字符区分大小写。
- 精度说明符是可选的,由1~2位数字组成,它的实际意义取决于格式说明符。
double myDouble = 3.1415926;
Console.WriteLine($"{myDouble,-10:G}");
Console.WriteLine($"{myDouble,-10:C}");
Console.WriteLine($"{myDouble,-10:E3}");
控制台(屏幕)输出:
3.1415926
¥3.14
3.142E+000
- 标准数字格式说明符
- C、c → 货币
- D、d → 十进制数
- F、f → 定小数点精度,小数的位数
- G、g → 常规
- X、x → 十六进制数
- N、n → 每三个数字一组(中间由逗号或空格分隔符)。
- p、p → 百分比
- R、r → 往返过程
- E、e → 科学计数法
4. 注释
- 注释:为代码添加注解。
// 单行注释 从开始标记到该行行位的文本被编译器忽略。
/* */ 带分隔符的注释 从开始标记到结束标记之间的文本被编译器忽略。
/// 文档注释 这种类型的注释包含XML文本,可以用工具生成程序文档,后续会讲解。
结尾
书籍:C#图解教程
著:【美】丹尼尔 · 索利斯;卡尔 · 施罗坦博尔
译:窦衍森;姚琪琳
ISBN:978-7-115-51918-4
版次:第5版
发行:人民邮电出版社
※敬请购买正版书籍,侵删请联系85863947@qq.com※
※本文章为看书或查阅资料而总结的笔记,仅供参考,如有错误请留言指正,谢谢!※