【终结版】C#常用函数和方法集汇总
C#里面的常用的函數和方法非常重要,然而做題的時候會經常忘記這些封裝好的方法,所以我總結一下?C#常用函數和方法集。
【1】C#操作字符串的常用使用方法
在 C# 中,您可以使用字符數組來表示字符串,但是,更常見的做法是使用?string?關鍵字來聲明一個字符串變量。string 關鍵字是?System.String?類的別名。
一.創建 String 對象
- 通過給 String 變量指定一個字符串
- 通過使用 String 類構造函數
- 通過使用字符串串聯運算符( + )
- 通過檢索屬性或調用一個返回字符串的方法
- 通過格式化方法來轉換一個值或對象為它的字符串表示形式
?結果為:
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 17:58 on Wednesday, 10 October 2012二.String 類的屬性
String 類有以下兩個屬性:
2.1??Chars屬性:在當前?String?對象中獲取?Char?對象的指定位置。?
string s = "Test"; for (int i= 0; i <= s.Length - 1; i++ ) Console.Write("{0} ", s[i]); 輸出: T e s t?2.2??Length:在當前的 String 對象中獲取字符數。
string characters = "abc\u0000def"; Console.WriteLine(characters.Length); // Displays 7?三、String 類的方法
?String 類有許多方法用于 string 對象的操作。下面的表格提供了一些最常用的方法
?3.1字符串常用的靜態方法
?3.1.1??
方法 :Compare 字符串的比較(按照字典順序)
方法名稱:public static int Compare( string strA, string strB )
描述 :比較兩個指定的 string 對象,并返回一個表示它們在排列順序中相對位置的整數。該方法區分大小寫。
示例 :
int result= string.Compare(string str1,string str2); 當str1 > str2時,返回1當str1 = str2時,返回0當str1 < str2時,返回-1string.Compare(string str1,string str2,bool ignoreCase) //忽略大小寫比較 string s1 = "ani\u00ADmal"; string s2 = "animal"; Console.WriteLine("Comparison of '{0}' and '{1}': {2}", s1, s2, String.Compare(s1, s2)); 輸出為0 原因: 字符集包括可忽略的字符。 Compare(String,String)方法在執行文化敏感比較時不考慮這些字符。 例如,如果以下代碼在.NET Framework 4或更高版本上運行,則“動物”與“動畫”(使用軟連字符或U + 00AD)的文化敏感比較表明這兩個字符串是相當量。詳見:ASCII碼對照表
?3.1.2
方法:Concat連接方法參數很多,常用的Concat(string str1,string str2);
方法名稱:public static string Concat( string str0, string str1 )?
描述:連接兩個?string?對象。
示例:
string str=string.Concat("w","e"); //str="we";3.1.3
方法:Format參數化處理,相當于Console.WriteLine();
方法名稱:public static string Format( string format, Object arg0 )?
描述:把指定字符串中一個或多個格式項替換為指定對象的字符串表示形式。
示例:
string str=String.Format("今天{0}很熱","天氣");//str="今天天氣很熱"; Console.WriteLine(str);3.1.4
方法:IsNullOrEmpty判斷字符是否為null或者為空,返回值為bool;
方法名稱:public static bool IsNullOrEmpty( string value )?
描述:指示指定的字符串是否為 null 或者是否為一個空的字符串。
示例:?
string str1="hahha"; bool b1=string.IsNullOrEmpty(str);//b1=false;string str2="";bool b2=string.IsNullOrEmpty(str2);//b2=true;string str3=null;bool b3=string.IsNullOrEmpty(str3);//b3=true;?3.1.5
方法:Join字符串的合并
方法名稱:public static string Join( string separator, string[] value )
描述:連接一個字符串數組中的所有元素,使用指定的分隔符分隔每個元素。
示例:?
using System;namespace StringApplication {class StringProg{static void Main(string[] args){string[] starray = new string[]{"Down the way nights are dark","And the sun shines daily on the mountain top","I took a trip on a sailing ship","And when I reached Jamaica","I made a stop"};string str = String.Join("\n", starray);Console.WriteLine(str);Console.ReadKey() ;}} }當上面的代碼被編譯和執行時,它會產生下列結果: Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop3.2 字符串常用的實例方法
3.2.1
方法:Contains 判斷字符串中是否包含某個字符,返回bool值。
方法名稱:public bool Contains( string value )?
描述:返回一個表示指定 string 對象是否出現在字符串中的值。
示例:
using System;namespace StringApplication {class StringProg{static void Main(string[] args){string str = "This is test";if (str.Contains("test")){Console.WriteLine("The sequence 'test' was found.");}Console.ReadKey() ;}} } 當上面的代碼被編譯和執行時,它會產生下列結果: The sequence 'test' was found.3.2.2
方法:EndsWith和StartsWith ?判斷是否是已某種字符串開始或者結束
方法名稱:public bool EndsWith( string value )
描述:判斷 string 對象的結尾是否匹配指定的字符串。
?方法名稱:public bool StartsWith( string value )
?描述:判斷字符串實例的開頭是否匹配指定的字符串。
?示例:?
string str="好大的雨呀";bool b1=str.StartsWith("大");//b1=false;bool b2-str.EndsWith("呀");//b2=true;?3.2.3
方法:Equals 比較兩個字符串是否相等
方法名稱:public static bool Equals( string a, string b )
描述:判斷兩個指定的 string 對象是否具有相同的值。
示例:
string str1="asd"; string str2="ert"; bool b = str1.Equals(str2); //b=false;bool <strName>.Equals(string str, StringComparison.OrdinalIgnoreCase) //表示不區分大小寫3.2.4
方法:IndexOf 和 LastIndexOf ?判斷字符串第一次出現(IndexOf)和最后一次出現(LastIndexOf ?)的位置,如果沒有出現過則返回值為-1
方法名稱:
描述:
public int IndexOf( char value )
返回指定?Unicode?字符在當前字符串中第一次出現的索引,索引從?0?開始。?
?public int IndexOf( string value )
?返回指定字符串在該實例中第一次出現的索引,索引從 0 開始。
??public int IndexOf( char value, int startIndex )
?返回指定 Unicode 字符從該字符串中指定字符位置開始搜索第一次出現的索引,索引從 0 開始。
?public int IndexOf( string value, int startIndex )
?返回指定字符串從該實例中指定字符位置開始搜索第一次出現的索引,索引從 0 開始。
?public int LastIndexOf( char value )
返回指定 Unicode 字符在當前 string 對象中最后一次出現的索引位置,索引從 0 開始。
?public int LastIndexOf( string value )
?返回指定字符串在當前 string 對象中最后一次出現的索引位置,索引從 0 開始。
?示例:
string str ="今天的雨很大,天很冷";int i=str.IndexOf("很"); //i=4;int i=str.LastIndexOf("很");//j=8; int m=str.IndexOf("小");//m=-1;3.2.5
方法:Replace 字符串(字符也是可以的)替換,返回新的字符串
方法名稱:
描述:
public string Replace( char oldChar, char newChar )?
把當前 string 對象中,所有指定的 Unicode 字符替換為另一個指定的 Unicode 字符,并返回新的字符串。
public string Replace( string oldValue, string newValue )
?把當前 string 對象中,所有指定的字符串替換為另一個指定的字符串,并返回新的字符串。
?示例:
s ="A_B_C_D"; Console.WriteLine(s.Replace('_', '-')); // 把字符串中的'_'字符替換為'-',輸出"A-B-C-D" Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替換為空字符串,輸出"A B C D" Console.WriteLine();3.2.6
方法:Insert 插入 在字符串的index位置上插入字符,原來的字符依次后移,變成一個新的字符串
方法名稱:public string Insert( int startIndex, string value )
描述:返回一個新的字符串,其中,指定的字符串被插入在當前 string 對象的指定索引位置。
示例:
string str="夜深了";string s=str.Insert(1,"已經");// s="夜已經深了"3.2.7
方法:Remove刪除字符串(字符)
方法名稱:
描述:
public string Remove( int startIndex )
移除當前實例中的所有字符,從指定位置開始,一直到最后一個位置為止,并返回字符串。
?public string Remove( int startIndex, int count )
從當前字符串的指定位置開始移除指定數量的字符,并返回字符串。
示例:
string str="夜已經深了";string s=str.Remove(1,2);//s="夜深了";3.2.8
方法:Split 將字符串<strName>以sep數組中的字符分割,分割后得到的內容存到一個數組中(string[] <strName>.Split(params char[] sep);)
方法名稱:
描述:
public string[] Split( params char[] separator )
返回一個字符串數組,包含當前的 string 對象中的子字符串,子字符串是使用指定的 Unicode 字符數組中的元素進行分隔的。
?public string[] Split( char[] separator, int count )
返回一個字符串數組,包含當前的 string 對象中的子字符串,子字符串是使用指定的 Unicode 字符數組中的元素進行分隔的。int 參數指定要返回的子字符串的最大數目。
示例:
string str="我,真的、好困;呀";string[] s=str.Split(new char(){',','、',';'});//s=string[]{"我","真的","好困","呀"};3.2.9
方法:Substring 截取字符<str>以index開始截取,并截取lenth個字符(string <str>.Substring(index,lenth))
示例:
string str="還在下雨"; string s=str.Substring(2,2);//s="下雨"; s ="ABCD"; Console.WriteLine(s.Substring(1)); // 從第2位開始(索引從0開始)截取一直到字符串結束,輸出"BCD" Console.WriteLine(s.Substring(1, 2)); // 從第2位開始截取2位,輸出"BC" Console.WriteLine();?3.2.10
方法:ToCharArray將字符串轉化為字符數組(<string>.ToCharArray())
方法名稱:
描述:
public char[] ToCharArray()
返回一個帶有當前 string 對象中所有字符的 Unicode 字符數組。
?public char[] ToCharArray( int startIndex, int length )
返回一個帶有當前 string 對象中所有字符的 Unicode 字符數組,從指定的索引開始,直到指定的長度為止。
示例:
//打散為字符數組(ToCharArray) s ="ABCD"; char[] arr = s.ToCharArray(); // 把字符串打散成字符數組{'A','B','C','D'} Console.WriteLine(arr[0]); // 輸出數組的第一個元素,輸出"A" Console.WriteLine();3.2.11
方法:Trim() 出去兩邊的空格
方法名稱:
public string Trim()
描述:移除當前 String 對象中的所有前導空白字符和后置空白字符。
示例(補充):
string str=" dd "; string s=str.Trim();//s="dd"; 截頭去尾(Trim) s ="__AB__CD__"; Console.WriteLine(s.Trim('_')); // 移除字符串中頭部和尾部的'_'字符,輸出"AB__CD" Console.WriteLine(s.TrimStart('_')); // 移除字符串中頭部的'_'字符,輸出"AB__CD__" Console.WriteLine(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,輸出"__AB__CD" Console.WriteLine();3.2.12
方法:ToUpper(轉換為大寫)和ToLower(轉換為小寫)
方法名稱:
描述:
public string ToLower()
把字符串轉換為小寫并返回。
public string ToUpper()
把字符串轉換為大寫并返回。
示例:
string s="RaSer";string s1=s.ToUpper();//s1="RASER";string s2=s.ToLower();//s2="raser";3.2.13
方法:填充對齊(PadLeft和PadRight)
示例:
s ="ABCD"; Console.WriteLine(s.PadLeft(6, '_')); // 使用'_'填充字符串左部,使它擴充到6位總長度,輸出"__ABCD" Console.WriteLine(s.PadRight(6, '_')); // 使用'_'填充字符串右部,使它擴充到6位總長度,輸出"ABCD__" Console.WriteLine();【2】DateTime 數字型
方法:System.DateTime currentTime=new System.DateTime();1.1 取當前年月日時分秒?
currentTime=System.DateTime.Now;1.2 取當前年/月/日/時/分/秒/毫秒
int 年=currentTime.Year;//.Day//.Hour//.Minute//.Second//.Millisecond?1.3?取中文日期顯示——年月日時分?
string strY=currentTime.ToString("f"); //不顯示秒1.4?取中文日期顯示_年月
string strYM=currentTime.ToString("y");1.5?取中文日期顯示_月日
string strMD=currentTime.ToString("m");1.6?取當前年月日,格式為:2003-9-23
string strYMD=currentTime.ToString("d");1.7?取當前時分,格式為:14:24?
string strT=currentTime.ToString("t");【3】字符型轉換位數字型
Int32.Parse(變量) Int32.Parse("常量")【4】變量.ToString()
字符型轉換 轉為字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16進制) 12345.ToString("p"); //生成 1,234,500.00%【5】字碼轉換轉為比特碼
System.Text.Encoding.Default.GetBytes(變量) 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特長度: len = bytStr.Length;【6】System.Text.StringBuilder("")
如: System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中華"); sb.Append("人民"); sb.Append("共和國");【7】把字符轉為數字,查代碼點,注意是單引號。?
(int)'字符' 如: console.Write((int)'中'); //結果為中字的代碼:20013【8】把數字轉為字符,查代碼代表的字符:(char)代碼
console.Write((char)22269); //返回“國”字。【9】取i與j中的最大值:Math.Max(i,j)?
如 int x=Math.Max(5,10); // x將取值 10【10】反轉整個一維Array中元素的順序
char[] charArray = "abcde".ToCharArray(); Array.Reverse(charArray); Console.WriteLine(new string(charArray));【11】判斷一個字符串中的第n個字符是否是大寫
string str="abcEEDddd"; Response.Write(Char.IsUpper(str,3));?參考文章:
1.微軟文檔string類
?2.菜鳥教程
3.http://dev.yesky.com/msdn/407/2261407.shtml
友情提示
作者: mhq_martin
博客園地址: http://www.cnblogs.com/mhq-martin/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
?
轉載于:https://www.cnblogs.com/mhq-martin/p/8675310.html
總結
以上是生活随笔為你收集整理的【终结版】C#常用函数和方法集汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 14.0.1修复了哪些bug
- 下一篇: 更新 iOS 14 之后,微信无法发送图