欢迎访问新酱博客!

C#string字符串解析

C# 新酱 阅读:240 0评论

C#字符串类型是string,全称是System.String,属于不可变类型。

逐字字符串字面量

在C#中,可以在字符串前面加@符号表示转义序列不被处理,结果是一个逐字字符串字面量,它不仅将反斜杠当作普通字符串输出,还会逐字解释所有空白字符(空白原样输出),如果不使用@这串代码甚至都不能成功编译。

这串代码会将\n换行符一起输出出来,没有@则当作换行符输出。

在以@开头的字符串中,唯一支持的转义序列是””,它代表一个双引号,这个双引号不会终止字符串。

字符串插值

在上面的代码中字符串前面还有一个$符号,这叫字符串插值,可以在一个字符串前面加$符号,然后将表达式嵌入大括号中。

字符串插值是调用string.Format()方法的简写,例如上面的代码可以写成这样。

这样做避免了通过字符串引入的任何后编译代码注入攻击。

using static指令

目前静态方法的调用通常是包含一个命名空间的前缀后面跟类型名,例如当调用System.Console.WriteLine()时,即使调用的方法是WriteLine(),在上下文中并没有其他的方法使用这个方法名,依然必须在方法名之前使用命名空间System后面跟类型名Console,有时候为了避免这样的显示写法,也希望有简写的方式,我们就可以引入C#6.0新增的using static指令。

using static指令必须放在文件的最开始,以后每次使用System.Console类的时候就不需要写前缀了,只需要写简单的方法名即可。

需要注意的是using static指令只对静态方法和属性有效,对于实例成员不起作用!

using指令与using static类似,不同的是using指令在文件或者命名空间中应用非常普遍,无论是实例化,还是静态方法的调用,使用using都可以随意的省略所有的命令空间引用。

换行符

如果不准备在控制台输出,可以使用System.Environment.NewLine

字符串长度

可以使用string的length只读属性来获得字符串的长度,不能设置它,它也不需要传任何参数。

字符串不可变

你可以为string新赋一个值,但是不能修改它的内容,所以不可能将string小写内容直接转换大写,而需要一个新string来接受这个转换的字符串

表面上看a.ToUpper()似乎将a变量中的小写转换成大写,但其实由于string类型不可变,所以a.ToUpper()不会进行这样的修改,a.ToUpper()会返回一个新的字符串,它需要保存到变量中或者直接传给Console.WriteLine();

新酱博客 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨网站采用BY-NC-SA协议进行授权
转载请注明原文链接:https://www.xiaorenjc.net/289.html
喜欢 (0)
评论头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址