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※

※本文章为看书或查阅资料而总结的笔记,仅供参考,如有错误请留言指正,谢谢!※

posted @ 2024-05-30 09:01  qinway  阅读(104)  评论(0)    收藏  举报