C#學習之旅(3)-字符與字符串

在文字的處理方面,大多都是通過字符和字符串的操作來實現。在C#中,主要用Char類、String類、StringBuild類來實現。在學習過程中,發現對於這類的處理,在調用上主要有兩個使用方式,一種是類的static函數調用,另一種是用例的方法調用。
比如:
static方法的調用:

    Char.IsLetter('a');//判斷指定的字符是否是字母類別。

用例的調用

    string MyStr = "my value string";
    MyStr.CompareTo("another string");

簡單來說,就是類的靜態方法屬於類自身,在調用時,是類方法調用;而另一種就是,類實例調用方法,在調用時,該方法是屬於這個實例的。
正常來說,相同功能的方法都會有這兩種形式可調用的實現,如果在實現使用中,不確定該使用哪種調用方式,可以從該方法的定義來確認調用形式。
屬於類的靜態方法,在定義時,有一個static關鍵字,而用例的方法則沒有。
如比較方法:

    public bool CompareTo(string value);
    public static bool Compare(string a, string b);
    //在調用使用時,形式如下,
    string stra = "string a";
    string strb = "string b";
    stra.CompareTo(strb);
    String.Compare(stra, strb);

在學習過程中,熟悉各個基本的String類的方法是必須,對於不清楚的方法,在編程過程中,如果編程工具是VS,也可以直接通過F12,查看該方法的使用簡介和參數類型來大概定位可以使用的方式。
基於此,這裏簡單記錄下常用的String類的方法。
(1)比較字符串
public Int Compare(string strA, string strB);
public Int Compare(string strA, string strB, bool ignorCase);
ignorCase爲真時,表示比較過程中忽略大小寫。

    String.Compare(myStrA, myStrB, true);

public Int CompareTo(string strB);

    myStrA.CompareTo(myStrB);

public bool Equals(string value);
public static bool Equals(string a, string b);

    myStrA.Equals(myStrB);
    String.Equals(myStrA, myStrB);

(2)格式化字符串
Public static string Format(string format, object obj);
格式項format的語法是{索引[,對齊方式][:格式字符串]}。

    DateTime dt = DateTime.Now;//獲取當前時間
    String strB = String.Format("{0:D}", dt);//格式化成短日期格式(YYYY年MM月dd日)

(3)截取字符串
public string Substring(int startIndex, int length);
(4)分割字符串
public string[ ] Split(char[ ] separator);

    string myStr = "this*is^my string";
    char[] separator = {'^', '#', '*'};
    string[] splitstring = string[100];
    splitstring = myStr.Split(separator);   
    for(int i=0; i < splitstring.Length; i++)
        Console.WriteLine("item{0}:{1}", i, splitstring[i]);

(5)插入字符串
public string Insert(int startIndex, string value);
(6)填充字符串
有左填充和右填充兩種。
public string PadLeft(int totalWidth, char paddingChar);
public string PadRight(int totalWidth, char paddingChar);
(7)刪除字符串
public string Remove(int startIndex);
public string Remove(int startIndex, int count);
(8)複製字符串
public static string Copy(string str);
public void CopyTo(int sourceIndex, char[ ] destination, int destinationIndex, int count);
(9)替換字符串
public string Replace(char OChar, char NChar);
public string Replace(string OValue, string NValue);

與String類相比,如果是需要經常修改字符串的操作,應該定義爲StringBuilder類實例,是比較合理的選擇。
StringBuilder類的構造方法有多種,當定義了一個類實例後,後續對實例的修改可以直接通過調用實例方法來實現。

    StringBuilder myValue = new StringBuilder("this is my string");
    myValue.Append(" and that is yours");
    //則myValue的值爲this is my string and that is yours.

常見的方法有Append、AppendFormat、Insert、Remove、Replace等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章