c#一些常用语法
1.stringbuilder删除最后一个字符,比如 ,
var index = mstrResult.ToString().LastIndexOf(','); if (index >= 0) mstrResult.Remove(index, 1); 或者 mstrResult.ToString().TrimEnd(',') 注:单引号,非双引号
2.C#中$的用法
为了替代string.format();原先赋值需要占位符和变量,当需要拼接多个变量会造成语句过长等不易理解问题,$""是为了替代string.format(),可以把字符串中的C#变量{}包含起来达到识别C#变量的目的$"{id}";也支持表达式,使用$"{(你的表达式)}" var ccc = string.Format("select * from {0} where {1} = {2}", a, b, c); var ccb = $"select * from {a} where {b}={c}";
3.转义字符
string path="c:\abc\"; 默认的"\"是作为dao转义来使用的,而不是一个真的斜杠字符权串 所以这个地方要取到地址,正确的写法应该是: string path=@"c:\abc\"; //这里的@让斜杠保持原意,不要转义 或者 string path="c:\\abc\\"; //不用@ 斜杠表示转义,所以要多加个斜杠
4.System.String.StartsWith
StartsWith: 是否以某一个字符串开头,结果布尔类型
EndsWith: 是否以某一个字符串结尾,结果布尔类型
Contains: 判断某一个字符串中是否包含某一个字符串,结果是布尔类型
5.String.Join(String, String[])
在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串 string [] array={abc,def,ghi}; string a = string.Join("-", array); 此时a="abc-def-ghi";
6.符号?
6.1 可空类型修饰符(?) int? a = null; 6.2 空合并运算符(?? 用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。 例如:a ?? b 当a为null时则返回b,a不为null时则返回a本身 6.3 三元(运算符)表达式(?:) x?y:z 表示如果表达式x为true,则返回y;如果x为false,则返回z,是省略if{}else{}的简单形式。 string a = "a"; var b = a == "a" ? "a" : "b"; //"a" x表达式?y:z