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 相加。 解析该内容后,它将会隐式转换结果为字符串,以便可与消息的其余部分连接。
相关推荐
波音彬要多做24 分钟前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
Swift社区33 分钟前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
一道微光36 分钟前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
矛取矛求41 分钟前
QT的前景与互联网岗位发展
开发语言·qt
Leventure_轩先生41 分钟前
[WASAPI]从Qt MultipleMedia来看WASAPI
开发语言·qt
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么、主流的游戏引擎、为什么选择Unity
开发语言·unity·c#·游戏引擎
m0_748256781 小时前
WebGIS实战开源项目:智慧机场三维可视化(学习笔记)
笔记·学习·开源
红色的山茶花1 小时前
YOLOv9-0.1部分代码阅读笔记-loss.py
笔记
是娜个二叉树!1 小时前
图像处理基础 | 格式转换.rgb转.jpg 灰度图 python
开发语言·python
Schwertlilien1 小时前
图像处理-Ch5-图像复原与重建
c语言·开发语言·机器学习