C# String小技巧

上一篇 / 下一篇  2008-04-25 15:28:56 / 个人分类:ASP.Net

NET string 类是相当广泛的,然而仍有一些String函数是缺失的或者不是很明显,在使用Net String,这里提供几个小技巧.


用重复的字符填充一个 String 

为了用重复的字符填充一个字符串使用string 类的构造函数.例如:20(*)填充一个字符串.

strings =newstring('*', 20 );



检查空字符串

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

 

String.IsNullOrEmpty( s )



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

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


反转字符串

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

 

staticpublicstringReverse(strings )
{
   char[] charArray = s.ToCharArray();
   Array.Reverse( charArray );
   returnnewstring( charArray );
}



字符串比较

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

 

if(String.Compare( s1, s2,true) == 0)



转换字符串为数字类型

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

 

strings = "42″;
inti;
int.TryParse( s,outi );



IndexOf 忽略大小写

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

 

usingSystem.Globalization;
 
   strings1 ="C# is a GREAT programming language.";
   strings2 ="great";
 
   CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo;
   inti = Compare.IndexOf( s1, s2, CompareOptions.IgnoreCase );

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-25  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 155
  • 日志数: 10
  • 书签数: 7
  • 建立时间: 2008-04-24
  • 更新时间: 2008-07-24

RSS订阅

Open Toolbar