C# String小技巧

摘要:
NETstring类是相当广泛的,然而仍有一些String函数是缺失的或者不是很明显,在使用NetString时,这里提供几个小技巧.用重复的字符填充一个String为了用重复的字符填充一个字符串,使用string类的构造函数.例如:用20个(*)填充一个字符串.strings=newstring('*',20);检查空字符串一个空字符串可能表现为空引用或者空字符串(String.Empty或""
NET string 类是相当广泛的,然而仍有一些String函数是缺失的或者不是很明显,在使用Net String时,这里提供几个小技巧.

用重复的字符填充一个 String

为了用重复的字符填充一个字符串, 使用string 类的构造函数.例如:用20个(*)填充一个字符串.
C# String小技巧第1张strings=newstring('*',20);

检查空字符串

一个空字符串可能表现为空引用或者空字符串(String.Empty或""),如果你试图对一个空字符串调用方法,可能会发生异常.因此,要检查空字符串,你应该使用Net2.0中的静态函数String.IsNullOrEmpty;
C# String小技巧第1张String.IsNullOrEmpty(s)

String.Empty vs. ""? 并不重要

在网上关于用string.Empty还是""表示空字符已经有很多争论了,然而测试表明,这里差别很小,即使创建10亿个空字符串时.

反转字符串

这里有很多算法在反转字符串方面. 下面是一个很好的方法,不论是作用在Unicode还是字符上:

C# String小技巧第1张staticpublicstringReverse(strings)
C# String小技巧第4张C# String小技巧第5张
C# String小技巧第6张{
C# String小技巧第7张
char[]charArray=s.ToCharArray();
C# String小技巧第7张Array.Reverse(charArray);
C# String小技巧第7张
returnnewstring(charArray);
C# String小技巧第10张}

字符串比较

由于字符串引用可能是空的,所以在比较字符串时,你应该避免使用"=="或者成员比较函数.代替的是使用静态的String.Compare方法.这个方法有个优势就是它能处理空字符串引用,忽略字符串大小写.也可以在特定文化背景下使用.

C# String小技巧第1张if(String.Compare(s1,s2,true)==0)

转换字符串为数字类型

每一种数字类型如: int, Int32, double, 等等,都有一个静态TryParse 方法来转换一个字符串而不抛出异常.这个方法返回一个bool无论这个字符串是否包含在这个特殊的数字类型中.例如:

C# String小技巧第1张strings="42″;
C# String小技巧第1张
inti;
C# String小技巧第1张
int.TryParse(s,outi);

IndexOf 忽略大小写

字符串的 IndexOf 方法是对大小写敏感的.幸运的是. 这个Globalization 命名空间下包含 CompareInfo 类,它包含一个对大小写敏感的 IndexOf 方法. 例如:

C# String小技巧第1张usingSystem.Globalization;
C# String小技巧第1张
C# String小技巧第1张
strings1="C#isaGREATprogramminglanguage.";
C# String小技巧第1张
strings2="great";
C# String小技巧第1张
C# String小技巧第1张CompareInfoCompare
=CultureInfo.InvariantCulture.CompareInfo;
C# String小技巧第1张
inti=Compare.IndexOf(s1,s2,CompareOptions.IgnoreCase);
C# String小技巧第1张
C# String小技巧第1张

免责声明:文章转载自《C# String小技巧》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇wParam与lParam的区别Hexo博客插入图片的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java根据图片路径下载图片并保存到本地目录

importjava.io.File; importjava.io.FileOutputStream; importjava.io.InputStream; importjava.io.OutputStream; importjava.net.URL; importjava.net.URLConnection; publicclassDownloadIma...

Flink--将表转换为DataStream或DataSet

A Table可以转换成a DataStream或DataSet。通过这种方式,可以在Table API或SQL查询的结果上运行自定义的DataStream或DataSet程序 将表转换为DataStream 有两种模式可以将 Table转换为DataStream: 1:Append Mode 将一个表附加到流上 2:Retract Mode 将表转换为流...

ansible使用jinja2模板

jinja2基本语法 控制结构 {% %}             jinja2中的for循环用于迭代Python的数据类型,包括列表,元组和字典          2.变量取值 {{ }}             jinja2模板中使用 {{ }} 语法表示一个变量,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/...

.NET Core3.1 LINQ查询

1、LINQ介绍   LINQ(Language Integrated Query,语言集成查询),是c#编程语言中的一种查询语法。有了LINQ,使得以相同的语法访问不同的数据源成为可能。这是因为,LINQ提供了不同数据源的抽象层。 2、LINQ查询基础   本节介绍了一个简单的LINQ查询。在此基础上,着重理解:c#提供了转换为方法调用的集成查询语言。...

chromedriver的使用

1.调用chrome driver System.setProperty("webdriver.chrome.driver", "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"); 2.创建chromeOption对象 ChromeOptions chromeOptio...

ExtJs控件属性配置详细

Ext.form.TimeField: 配置项:maxValue:列表中允许的最大时间maxText:当时间大于最大值时的错误提示信息minValue:列表中允许的最小时间minText:当时间小于最小值时的错误提示信息increment:两个相邻选项间的时间间隔,默认为15分钟format:显示格式,默认为“g:i A”。一般使用“H:i:s”H:带前缀...