C#/基础笔记

基本语法

  1. 基本数据类型
    1. string :字符串
    2. int :整数
    3. dicimal :温度,带小数
  2. 变量赋值
    1. 必须先将值分配给变量(设置),然后才能从变量中检索(获取)值。
    2. 可通过在声明时给变量赋值来初始化变量。
    3. 从右到左进行赋值。
    4. 使用单等号字符作为赋值运算符。
    5. 若要从变量中检索值,只需使用变量的名称。
  3. var 关键字:隐式类型
    1. var 关键字指示编译器根据变量的初始化值来推断变量的数据类型

在 C# 中执行基本字符串格式设置

  1. 字符转义序列
    1. 使用转义字符\,需要使用反斜杠时,请对反斜杠 \ 使用转义字符
    2. \n 序列将添加一个新行
    3. \t 序列将添加一个制表符
  2. 可以通过转义字符设置输出格式
csharp 复制代码
Console.WriteLine("Generating invoices for customer \"Contoso Corp\" ... \n");
Console.WriteLine("Invoice: 1021\t\tComplete!");
Console.WriteLine("Invoice: 1022\t\tComplete!");
Console.WriteLine("\nOutput Directory:\t");
bash 复制代码
Generating invoices for customer "Contoso Corp" ...

Invoice: 1021           Complete!
Invoice: 1022           Complete!

Output Directory:
  1. 逐字字符串字面量 @
csharp 复制代码
Console.WriteLine(@"    c:\source\repos    
        (this is where your code goes)");
bash 复制代码
c:\source\repos    
        (this is where your code goes)
  1. Unicode 转义字符
    1. \u 转义序列在文本字符串中添加编码字符,然后使用四个字符的代码表示 Unicode (UTF-16) 中的某些字符。
    2. 某些控制台(例如 Windows 命令提示符)不会显示所有 Unicode 字符。 它将用问号字符代替这些字符。 另外,此处使用的示例是 UTF-16。 有些字符需要 UTF-32,因此需要不同的转义序列。
bash 复制代码
// To generate Japanese invoices:
// Nihon no seikyū-sho o seisei suru ni wa:
Console.Write("\n\n\u65e5\u672c\u306e\u8acb\u6c42\u66f8\u3092\u751f\u6210\u3059\u308b\u306b\u306f\uff1a\n\t");
// User command to run an application
Console.WriteLine(@"c:\invoices\app.exe -j");
Console.WriteLine("----日本の請求書を生成する");
bash 复制代码
日本の請求書を生成するには:
	c:\invoices\app.exe -j
日本の請求書を生成する

使用字符串串联合并字符串

  1. 字符串串联是"程序员的表述",指的是将两个或更多 string 值简单合并成一个新 string 值。
  2. 连接文本字符串和变量
    1. "Hello " + firstName;
  3. 连接多个变量和文本字符串
    1. string message = greeting + " " + firstName + "!";
  4. 避免中间变量
    1. 如果添加中间变量不会增加可读性,则避免创建中间变量。
  5. EG
csharp 复制代码
string firstName = "Bob";
string greeting = "Hello";
Console.WriteLine(greeting + " " + firstName + "!");
bash 复制代码
Hello Bob!

使用字符串内插合并字符串

  1. 字符串内插?
    1. string message = greeting + " " + firstName + "!";
    2. string message = $"{greeting} {firstName}!";
  2. 文本字符串和变量值合并在一起
csharp 复制代码
string firstName = "Bob";
string message = $"Hello {firstName}!";
Console.WriteLine(message);
  1. 多个变量和文本字符串一起使用
bash 复制代码
int version = 11;
string updateText = "Update to Windows";
string message = $"{updateText} {version}";
Console.WriteLine(message);
  1. 合并逐字文本和字符串内插
    1. 使用逐字文本。 可以同时使用逐字文本前缀符号 @ 和字符串内插 $ 符号
csharp 复制代码
string projectName = "First-Project";
Console.WriteLine($@"C:\Output\{projectName}\Data");
  1. 许多环境中的控制台可能不支持所有 Unicode 字符。 因此,由于编码不匹配,Unicode 字符可能会显示为问号

你的目标是编写代码,以设置具有特殊字符的字符串的格式,例如双引号、新行、制表符和其他空格,以及 unicode 字符。 你还使用两种不同的技术合并了字符串。

借助字符转义序列,你通过使用特殊转义序列或逐字字符串在文本字符串中添加特殊字符。 你在文本字符串中添加了来自日语汉字和俄语西里尔字母等其他语言集的 Unicode 字符。 你结合使用了简单的字符串串联和 + 符号,并升级到字符串内插,以便将值合并到字符串模板中。

如果没法设置输出的格式,则你会在可向用户呈现哪些类型的信息方面严重受限。 但是,现在你可为用户提供采用各种格式、符号和语言的复杂指令和反馈。

使用隐式数据转换执行加法

  1. 添加两个数值数据
csharp 复制代码
int firstNumber = 12;
int secondNumber = 7;
Console.WriteLine(firstNumber + secondNumber);
bash 复制代码
19
  1. 混合数据类型以强制执行隐式类型转换
csharp 复制代码
string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + widgetsSold + " widgets.");
bash 复制代码
Bob sold 7 widgets.
  1. 添加数字和连接字符串的更高级情况
csharp 复制代码
// 错误案例
string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + widgetsSold + 7 + " widgets.");

// 正确案例
string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + (widgetsSold + 7) + " widgets.");
bash 复制代码
// 错误案例
Bob sold 77 widgets.

// 正确案例
Bob sold 14 widgets.
  • 括号符号 () 变成另一个重载运算符。 在这种情况下,左括号和右括号构成运算符运算的顺序,就如你可以在数学公式中使用的那样。 你指出希望首先解析内部括号,结果是 int 值 widgetsSold 和值 7 相加。 解析该内容后,它将会隐式转换结果为字符串,以便可与消息的其余部分连接。
相关推荐
Aa134517650252 分钟前
c#中使用sql防注入方式写入数据
数据库·sql·c#
邂逅自己2 分钟前
Java入门程序-HelloWorld
java·开发语言
~在杰难逃~5 分钟前
关于订单信息的Excel数据分析报告
笔记·数据分析·excel·数据分析报告
自身就是太阳35 分钟前
Maven的高级特性
java·开发语言·数据库·后端·spring·maven
hakesashou41 分钟前
ruby和python哪个好学
开发语言·python·ruby
Pluses43 分钟前
Datawhale X 李宏毅苹果书 AI夏令营 《深度学习详解》第十九章 ChatGPT
人工智能·笔记·深度学习·学习
林一怂儿1 小时前
H5 three.js 实现六年级观察物体
开发语言·javascript
NiNg_1_2341 小时前
Python协程详解
开发语言·python
黑白子20001 小时前
python定时任务,定时爬取水质和天气
开发语言·python
9ilk1 小时前
【与C++的邂逅】--- C++的IO流
开发语言·c++