第3章 C#编程概述 笔记

第3章 C#编程概述

3.1 一个简单的 C# 程序

c# 复制代码
// 使用System空间
using system;
// 声明一个命名空间 - Simple
namespace Simple;
{
    // 声明一个新的类 - Program
    class Program
    {
        // 声明一个方法 - Main
        static void Main()
        {
            Console.Write("Hi there!");
            
        }
    }
}

3.2 标识符

标识符是一种字符串,用来命名变量、方法、参数和其他程序结构。

标识符规定:

  • 字母和下划线(a-z、A-Z 和 _)可以用在任何位置
  • 数字不能放在首位,但可以放在其他任何地方
  • @ 字符只能放在标识符的首位,但不推荐

标识符区分大小写,不建议使用大小写区分变量的含义。

csharp 复制代码
// 语法上有效,但非常混乱,不建议
int totalCycleCount;
int TotalCycleCount;
int TotalcycleCount;

3.3 关键字

关键字是用来定义C#语言的字符串记号。

  • 关键字不能被用作变量名或任何其他形式的标识符,除非以 @ 字符开始
  • 所有 C# 关键字全部由小写字母组成

上下文关键字 仅在特定结构中充当关键字的标识符,在非特定结构中,可以被用作用户的标识符。

3.4 Main:程序的起始点

每个C#程序必有一个类带有Main方法,可执行起始点在Main中的第一条指令,Main必须首字母大写。

c# 复制代码
// 简单形式
static void Main()
{
	// do something
}

3.5 空白

程序中的空白指的是没有可视化输出的字符。空白字符会被编译器忽略,但会使代码更清晰易读。

空白字符包括:

  • 空格(Space)
  • 制表符(Tab)
  • 换行符
  • 回车符
c# 复制代码
// 清晰的格式
void Main()
{
	Console.Write("Hi there!");
}

// 拥挤的格式
void Main(){Console.Write("Hi there!");}

3.6 语句

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

简答语句由;结束。

c# 复制代码
int var1 = 5;
System.Console.WriteLine("The value of var1 is {0}", var1);

块是一个由成对大括号包围的N条语句序列,在语法上相当于一条语句。

c# 复制代码
{
	int var1 = 5;
	System.Console.WriteLine("The value of var1 is {0}", var1);
}

块的使用原则:

语法上只需要一条语句,但是需要执行的动作无法用一条简单的语句来处理的情况下,考虑使用块。

某些特定的程序结构只能使用块。

块后面不跟分号。

3.7 从程序中输出文本

控制台窗口是一种简单的命令提示窗口,允许程序显示文本并从键盘接收输入。

BCL提供了Console的类,包含将数据输入和输出到控制台窗口的方法。

3.7.1 Write

Write 把一个文本字符串发送到程序的控制台窗口。

c# 复制代码
// 字符串需要用 双引号 包裹
System.Console.Write("This is text1.");

3.7.2 WriteLine

WriteLine 和Write功能相同,但汇总每个输出字符串的结尾加一个换行符。

c# 复制代码
System.Console.WriteLine("This is text1.");

3.7.3 格式字符串

Write 和 WrtieLine 语句第一个参数必须是字符串,称为 格式字符串,

格式字符串可以包含替代标记:

c# 复制代码
// 语法
Console.WriteLine(格式字符串(含替代标记), 替换值 0, 替换值 1, 替换值 2, ...);

// 示例
Console.WriteLine("Two sample integers are {0} and {1}.", 3, 6);

C# 6.0 引入了插值字符串,可以直接在替代标记内插入变量名:

c# 复制代码
int var1 = 3;
int var2 = 6;
Console.WriteLine($"Two sample integers are {var1} and {var2}")

3.7.4 多重标记和值

C#中,可以使用任意数量的替代标记和任意数量的值:

值可以以任意顺序使用

值可以在格式字符串中替换任意次

代码示例:

csharp 复制代码
Console.WriteLine($"Three sample integers are {1}, {0} and {1}", 3, 6);

标记不能引用超过替换值列表长度以外位置的值。

csharp 复制代码
// 错误,位置2不存在
Console.WriteLine($"Three sample integers are {1}, {0} and {2}", 3, 6);

3.7.5 格式化数字字符串

为了更好的呈现文本字符串的输出,通过格式化字符串来实现。

c# 复制代码
// 输出数字
Console.Write("This value is {0}.",  500);
// 格式化为货币
Console.Write("This value is {0:C}.", 500);

字符串的格式语法由3个字段组成:索引号、对齐说明符(可选)、格式字段(可选)

1.对齐说明符

表示字段中字符的最小宽度,

可选的,由逗号和整数组成,

整数表示使用字符的最少数量。

正整数表示右对齐;负数表示左对齐。

如果输出字符长度比给定的整数小,则其余使用空格填充;

否则,对齐说明符会被忽略

c# 复制代码
int myInt = 500;

Console.WriteLine("|{0, 10}|", myInt);  // "|       500|"
Console.WriteLine("|{0,-10}|", myInt);  // "|500       |"
Console.WriteLine("|{0, 1}|", myInt);   // "|500|"

// 插值字符串
Console.WriteLine($"|{myInt, 10}|");    // "|       500|"

2.格式字段

格式字段指定了数字应该以哪种形式表示。

冒号后面必须紧跟格式说明符,中间不能有空格。

格式说明符为一个字母。

精度说明符是可选的,由1-2位数字组成,实际意义取决于格式说明符

c# 复制代码
double myDouble = 12.345678;
Console.WriteLine("{0,-10:G} -- General",   myDouble);                    
Console.WriteLine("{0,-10} -- Default, same as General",       myDouble);
Console.WriteLine("{0,-10:F4} -- Fixed Point, 4 dec places",   myDouble);
Console.WriteLine("{0,-10:C} -- Currency",                     myDouble);
Console.WriteLine("{0,-10:E3} -- Sci. Notation, 3 dec places", myDouble);
Console.WriteLine("{0,-10:x} -- Hexadecimal integer",          1194719 );

// output 
 12.345678  -- General
 12.345678  -- Default, same as General
 12.3457    -- Fixed Point, 4 dec places
 $12.35     -- Currency
 1.235E+001 -- Sci. Notation, 3 dec places
 123adf     -- Hexadecimal integer

3.标准数字格式说明符

9种标准数字格式说明符

C、c 货币

D、d 十进制数

F、f 定点

G、g 常规

X、x 十六进制数

N、n 数字

P、p 百分比

R、r 往返过程

E、e 科学计数法

对齐说明符和格式说明符 也可用于插值字符串。

3.8 注释:为代码添加注解

注释包括:单行注释、行内注释、文档注释

行内注释 - 带分隔符的注释:

有开始标记 /*、结束标记*/

标记对之间的文本 会被编译器忽略

带分隔符的注释可以跨任意多行

csharp 复制代码
 /*
 This text is ignored by the compiler.
 Unlike single-line comments, delimited comments
 like this one can span multiple lines.
 */

3.8.1 关于注释的更多内容

注释不能嵌套,一次只能由一个注释起作用

注释类型的范围:

单行注释,一直到行结束都有效

带分割符的注释,一直到遇到第一个结束标记都有效

3.8.2 文档注释

文档注释包含XML文本,可以用于产生程序文档。

c# 复制代码
/// <summary>
/// This class does...
/// </summary>
class Program
{
 	//...
}

3.8.3 注释类型总结

单行注释 - //

带分隔符的注释 - 有开始标记 /*、结束标记*/

文档注释 - ///

相关推荐
小巫程序Demo日记7 小时前
Spark简介脑图
大数据·笔记·spark
csdn_aspnet9 小时前
C# .NET Core 源代码生成器(dotnet source generators)
c#·.netcore
时光追逐者9 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 42 期(2025年6.9-6.15)
c#·.net·.netcore
葡萄城技术团队1 天前
基于 C# 和 .NET 的 Spread.NET 数据处理实战
c#
ou.cs1 天前
wpf 解决DataGridTemplateColumn中width绑定失效问题
c#·wpf
车队老哥记录生活1 天前
【MPC】模型预测控制笔记 (3):无约束输出反馈MPC
笔记·算法
写代码的小阿帆1 天前
LDStega论文阅读笔记
论文阅读·笔记
Cai junhao1 天前
【Qt】Qt控件
开发语言·c++·笔记·qt
LuLaLuLaLeLLLLLL1 天前
Elastic Search 学习笔记
笔记·学习