C#的一些骚操作记录

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BillCYJ/article/details/84256074

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

未完待续

展开阅读全文

没有更多推荐了,返回首页