zoukankan      html  css  js  c++  java
  • C# String小技巧

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

        用重复的字符填充一个 String

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

        检查空字符串

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

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

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

    反转字符串

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

    static public string Reverse( string s )
    {
        
    char[] charArray = s.ToCharArray();
        Array.Reverse( charArray );
        
    return new string( charArray );
    }

    字符串比较

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

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

    转换字符串为数字类型

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

    string s = "42″;
    int i;
    int.TryParse( s, out i );

    IndexOf 忽略大小写

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

        using System.Globalization;

        
    string s1 = "C# is a GREAT programming language.";
        
    string s2 = "great";

        CompareInfo Compare 
    = CultureInfo.InvariantCulture.CompareInfo;
        
    int i = Compare.IndexOf( s1, s2, CompareOptions.IgnoreCase );

  • 相关阅读:
    解决springmvc报错,java.lang.IllegalArgumentException:No converter found for return value of type: class .......
    BidiMap MultiMap LazyMap
    双色球2013年统计,从网上爬虫出来的
    捡石子小游戏程序解析
    Linux常用命令--List of commands(附目录切换命令)
    格式化字符串
    有关循环
    使用python 3.x 对pythonchallenge-----8的解答过程
    使用python 3.x 对pythonchallenge-----7的解答过程
    使用python 3.x 对pythonchallenge-----6的解答过程
  • 原文地址:https://www.cnblogs.com/smallfa/p/1109147.html
Copyright © 2011-2022 走看看