# 【C#基础】

# 位运算

# 运算符

  • 运算符“&”读“与”两个都是1则1,否则0。
  • 运算符“|”读“或”有一个1则1,两个都是0时为0。
  • 运算符“^”读“异或”相同为0,不同为1。
int a = 10; // 0000 1010
int b = 6;  // 0000 0110

WriteLine($"a = {a}");  // a = 10
WriteLine($"b = {b}");  // b = 6
WriteLine($"a & b = {a & b}"); // a & b = 2
WriteLine($"a | b = {a | b}"); // a | b = 14
WriteLine($"a ^ b = {a ^ b}"); // a ^ b = 12

// 左移
WriteLine($"a << 3 = {a << 3}"); // a << 3 = 80

// 右移
WriteLine($"a >> 1 = {a >> 1}"); // a >> 1 = 3

# 二进制转十进制

右到左分别 2的0次方到2的n次方进行相加。与对应的1或者0进行相乘。

以二进制 1010 为例,经过以下运算得出结果为 10。 2的0次方0 + 2的1次方1 + 2的2次方0 + 2的3次方1 = 0+2+0+8 = 10

# 十进制转二进制

采用"除2取余,逆序排列"法。 以十进制 10 为例:

10/2= 5 余 0 5/2 = 2 余 1 2/2 = 1 余 0 1不可除2余 1

然后下到上进行排列得出结果 1010 。

# 基本数据类型

# 字符串类型

# 字符串拼接1

string str1 = "{0}{2}{1}";
str1 = string.Format(format:str1,arg0:"参数0",arg1:"参数1",arg2:"参数2");
Console.WriteLine(str1);

# 字符串拼接2

string p0 = "p0";
string p1 = "p1";
string p2 = "p2";
string str2 = $"{p0}{p2}{p1}";
Console.WriteLine(str2);

# 字符串拼接3

"{1:C}"
//这样的编号信息, C代表的是货币,不同国家会转换成不同的货币表现形式

# 字符串拼接格式

{index [, alignment] [:formatString]}
  • index:索引 是必备的。
  • , alignment 可选的正数右对齐,负数左对齐。
  • :formatString 可选的,例如 C 或者 N0,C代表货币,N0代表数字,N1代表保留一位小数。

# 数值类型

# 占用内存和取值范围

Markdown 图片

# 进制表示

  • 二进制 0b_0001_1110_1000_0100_1000_0000
  • 十进制 2_000_000
  • 十六进制 0x_001E_8480
  • 以上三个数等价.只是进制显示方式不一样