其实没有专门学过C#
,在网上看代码学习时其实还有很多可能会困惑的地方,所以就一边看《C#
图解教程》,一边记录一些觉得需要记录的地方
格式字符串
我还记得以前写kotlin
的时候,格式字符串是一个非常好用的东西,比C++
的转格式然后再+不仅方便而且可读性也很强。C#
作为高级语言(比C++
更高级),在这方面也做了改进。
旧的格式
在字符串中使用替换标记{index}
在格式字符串中标出位置,后面跟着的参数为替换值,替换值从0开始编号,替换标记的index
就是替换值的编号。
下方给出的示例,3为替换值0,6为替换值1:
Console.WriteLine("Two sample integers are {0} and {1}.", 3, 6);
Two sample integers are 3 and 6.
新的格式
在C# 6.0版本中引入了一种代码可读性更强的方式表述参数化字符串的语法,称为字符串插值,通过在替换标记内插入变量名实现。实际上,替换标记告诉编译器这个变量将被视为一个变量,而不是字符串字面量——前提是在字符串前面加上了$符号
int var1 = 3;
int var2 = 6;
Console.WriteLine($"Two sample integers are {var1} and {var2}");
Two sample integers are 3 and 6.
在Unity中也是一样可以使用的,例如打印日志将Console.WriteLine
替换为Debug.Log
即可
多重标记和值
就是能够使用任意数量的替换标记和值
- 值可以以任何顺序使用
- 值可以在格式字符串中替换任意次
Console.WriteLine("Three sample integers are {1}, {0} and {1}", 3, 6);
int var1 = 3;
int var2 = 6;
Console.WriteLine($"Three sample integers are {var2}, {var1} and {var2}");
Three sample integers are 6, 3 and 6.
格式化数字字符串
因为我不常用所以不会展开讲
index
指定哪一项变量(同上文写法),alignment
指定字段宽度以及是否右对齐或左对齐(可选),format
指定项的格式(可选),格式如下:
{index, alignment: format}
左右对齐
正数为右对齐,负数为左对齐,整数表示字段使用字符的最少数量。
简单来说,整数代表的是当字符串长度不够长时,如右对齐情况,会在左边添加空格直到空格+字符串的长度达到整数(即字段使用字符的最少数量)。
例如,右对齐参数为10,替换值为500,那就要在前面补7个空格(左对齐就在后面补):
int var1 = 500;
int var2 = 10;
Console.WriteLine($"|{var1, 10}|");
Console.WriteLine($"|{var2, 10}|");
| 500|
| 10|
format
比较冗长,关于format的参数可以查看微软的官方文档