1.C#中字符串前面加@的作用
在C#中,字符串前加@表示强制不转译。
如果你的字符串中有大量的\字符,而不是想用转义,那就写@来取消\转义字符。
还有就是字符串可以换行。
string a=@"abc
def
ghi";
2.C#中??的作用
如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。
例如:a??b??c
a不为null时返回a本身,否则,b不为null时则返回b本身,否则返回c。
3.C#中字符串前面加$的作用
C# 6 引入了字符串前缀$
string str = “Jump”;
string res = $"{str}chen";
等同于使用Format方法:
string res = string.Format("{0}chen",str);
并且,我们还可以直接调用值的方法,比如:
string res = $"{str.ToLower()}chen"; //.ToLower()必须用在{}里面,否则,.ToLower()就被当作字符串处理
使用字符串前缀$,代码可读性要好一些,比如:
int a = 1;
int b = 2;
string c = $"{a} + {b} = {a + b}"; //使用$
string d = string.Format("{0} + {1} = {2}", a, b, a + b); //使用Format
4.String的实例函数Trim()移除字符串前后的空格
String str = " jump chen ";
Console.WriteLine(str.Trim());
5.正则表达式Regex
需要using System.Text.RegularExpressions;
判断字符串是不是纯数字 举例:
// ^代表正则表达式开始,$代表正则表达式结束,+代表匹配1--无穷个,[0-9]匹配0-9范围内的任意字符,所以只能输入数字
Regex regex = new Regex("^[0-9]+$");
Regex regex2 = new Regex("^[0-9]*$"); // *代表匹配0--无穷个,所以可以不输入,输入也只能输入数字
Console.WriteLine(regex.IsMatch("4655465465")); // True
Console.WriteLine(regex2.IsMatch("4655465465")); // True
Console.WriteLine(regex.IsMatch("")); // Flase
Console.WriteLine(regex2.IsMatch("")); // True
更多正则表达式规则和用法请见:
https://zh.wikipedia.org/wiki/正则表达式
https://blog.csdn.net/paris_chenxin/article/details/52885720
未完待续