本篇文章为大家展示了.Net Framework文本处理相关操作方法是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
.Net Framework开发环境帮助我们提供了一个功能非常强大的编写平台。
数值和Char实例之间进行转换:
转型:效率***,编译器会直接产生IL指令来执行转换,不会有任何方法的调用;
但缺点是编译器要将期望转换的数值类型看作是基元类型。//c=(Char) 65;
使用Convert类型:System.Convert类型提供了静态方法,为checked操作
//c=Convert.ToChar(65);
.Net Framework文本处理中使用Iconvertible接口:Char类型和所有.NET框架类库FCL中的数值类型都实现了
Iconvertible接口,该接口定义了如ToChar这样的方法;但效率不高,存在值类型转化为接口装箱问题 //c=((IConvertible)65).ToChar(null);
C#认为String是一个基元类型,不能用new操作符来创建String对象。
String s=”Hi there”;
String file=”C:""Windows”;
String file=@”C:"Windows”;
//@符号告诉编译器该字符串为一个
字面字符串,可读性强
String对象最重要的特性是其恒定性。也就是说,一个字符串一旦被创建,就不可能再将其变长、变短、或者改变其中任何的字符。
.Net Framework文本处理中的编译器一般将文本常量字符串放在托管模块的元数据中,然后在运行时使用一种称作字符串驻留string interning的机制访问它们。
String s=”Hello”;
Console.WriteLine(Object.
ReferenceEquals(“Hello”,s);
//当***个引用字符串的方法被JIT编译时,所有嵌入在源代码中的文本常量字符串总会被添加到CLR内部的散列表中
运行时动态创建字符串:
String s1=”Hello”;
Sting s2=”Hel”;
String s3=s2+”lo”;
Console.WriteLine(Object.
ReferenceEquals(s1,s3));
//返回false,因为动态创建的字符串并没有添加到CLR内部的散列表中
如果一个应用程序中所有的字符串比较都仅仅是比较引用而非字符集,且有一种.Net Framework文本处理方法可以将含有相同字符集的动态字符串变为托管堆中的一个字符串对象,则将大大提高系统性能。
S3=String.Intern(s3); //返回已经存在的string对象的引用,如找不到,则该字符串将被添加到CLR内部的散列表中
S3=String.IsInterned(s3); //找不到,返回null
只有当我们需要在应用程序中多次比较同一个字符串时,才运用字符串驻留技术。
字符串池技术string pooling:将多次出现的字符串只写入一次到托管模块的元数据中
由于string类型表示的是一个恒定不变的字符串,FCL提供了另外一种类型System.Text.StringBuilder,允许我们通过对字符串和字符执行动态操作来创建String对象。
System.Object中定义了一个共有的无参ToString方法,我们可以在任何类型的实例上通过调用ToString来获得该实例的字符串表达形式。
如果需要自己的类型为调用者提供格式和语言文化选择的话,我们应是其实现System.Iformattable接口:
Public interface Iformattable{
String ToString(String
format,IformatProvider
formatProvider);}
将多个对象格式化为一个字符串:
String s=String.Format
(“On {0:D},{1} is {2:E}
years old.”,DateTime.Now,
”Wallace”,35);Console.WriteLine(s);
//String的静态方法Format接受一个格式化字符串,给格式字符串使用大括号中的数字来标识可替换的参数。
StringBuilder的AppendFormat方法是我们能够以任何期望的方式来格式化对象
.Net Framework文本处理中的任何能够解析一个字符串的类型都提供有一个名为Parse的共有静态方法,该方法接受一个String,返回一个类型的实例。
上述内容就是.Net Framework文本处理相关操作方法是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。