C# 是微软推出的一种基于 .NET 框架和后来的 .NET 的、面向对象的高级编程语言。C# 是一种由 C 和 C++ 派生出来的面向对象的编程语言。它在继承 C 和 C++ 强大功能的同时去掉了一些它们的复杂特性,使其成为 C 语言家族中的一种高效强大的编程语言。

C# 学习难度尚可,同时应用广泛,可以开发跨平台应用,还可以构建高性能的程序。同时,C# 是 Unity 的重要开发语言之一,学习 C# 可以为之后学习 Unity 打下基础。过去笔者对 C# 的印象一直停留在 .NET Framework 3.5 & .NET Framework 4.8,但如今的 .NET 早已今非昔比,支持多种现代特性,性能也在越来越强,保持稳定更新。

Microsoft Learn is a library of technical documentation and training for end users, developers, and IT professionals who work with Microsoft products. Microsoft Learn 是一个面向使用微软产品的终端用户、开发者和 IT 专业人员的技术文档和培训资料库。C# 作为微软的产品,在 Microsoft Learn 上有着丰富的文档和比较完整的学习引导,跟着一步一步走,就可以入门 C#。文档是非常通俗易懂的,只是微软式中文一贯不讲人话,某种程度上反倒提高了些理解门槛。

这是 C# 学习笔记系列的第一篇,我会坚持学习并更新,与读者共勉。

使用 C# 编写第一个代码

控制台输出

Console.WriteLine("Hello, C#!");

声明变量

char userOption;
int gameScore;
decimal particlesPerMillion;
bool processedCustomer;

隐式声明变量:var 关键字(声明时必须初始化,即赋值,根据值确定类型)

浮点类型

Float Type    Precision
----------------------------
float         ~6-9 digits
double        ~15-17 digits
decimal        28-29 digits

floatdecimal 类型赋值后加后缀、如:0.25F12.39816m

字符串转义、串联、内插

Console.WriteLine("Hello \"World\"!");
// \ 转义
Console.WriteLine("c:\\source\\repos");
// \n \t \\
Console.Write(@"c:\invoices");
// @"" 逐字字符串文本,类似 Python r""
Console.WriteLine("\u3053\u3093\u306B\u3061\u306F World!");
// UTF 转义
string message = $"{updateText} {version}";
// $"" 后的 {} 内可使用表达式
Console.WriteLine($@"C:\Output\{projectName}\Data");

数学运算

int sum = 7 + 5;
int difference = 7 - 5;
int product = 7 * 5;
double quotient = 7 / 5;
int mod = 7 % 5;
double quotient_2 = (double)sum / (double)difference ;
// 计算前强制类型转换
value += 1;
value++;
//复合赋值运算符(如 +=、-=、*=、++、--)
Console.WriteLine($"Second: {value++}");
Console.WriteLine("Fourth: " + (++value));
//增量和减量运算符的执行,取决于运算符在操作数之前还是之后。

使用 C# 编写第一个代码(C# 入门,第 1 部分) - Training | Microsoft Learn