C# 靜態類,字符串的常見API

靜態構造函數:

?1.一定是靜態類才有靜態構造函數嗎?錯的

?靜態構造函數的特點:

?1.靜態構造函數沒有修飾符修飾(默認修飾符是private,但是不能寫出來)

?2.靜態構造函數是系統默認調用,程序員無法手動調用

?3.如果類中沒有靜態構造函數,而此時類中又包含靜態字段(未初始化的),那么此時編譯器會默認生成靜態構造函數

?4.在靜態類中或者靜態方法中,不能使用實例對象。

?5.如果類中包含靜態成員,且沒有被初始化,系統會默認提供一個默認的值,這也間接的說明了我們不可以直接調用靜態構造函數,也沒有辦法 ? ? 控制靜態函數的執行時間

?6.靜態構造函數只能被調用一次,并且不能被重載

?7.靜態構造函數不能有形式參數

?8.雖然靜態構造和普通構造函數名字一樣,參數一樣,但是系統規定可以共存。

?9.靜態構造函數是在普通構造函數之前執行,一般情況下用于初始化靜態字段,或者攔截在實例化之前處理某些特定情況,可以在該函數中實現.




用static 修飾的類是靜態類

靜態類的特點

1.靜態類不能被直接實例化

2.靜態類不能被繼承

3.靜態類中不能包含實例成員

4.靜態類就是特殊的密封類

5.靜態類中雖然不能包含實例成員,但是可以有常量

6.靜態類和實例調用方式不一樣,普通類是以實例.的方式進行調用,而靜態類是以類名.的方式進行調用

7.靜態類的訪問速度相對而言要比實例類要快得多

8.如果類中包含靜態構造函數和函數的入口main函數,此時靜態構造函數會在main函數之前調用

9.如果類中包含靜態構造函數并不包含入口main函數,此時靜態構造函數會在main函數之后調用

字符串的常見API


1.獲取字符串長度

public void Test1(){

//無論英文,特殊符號還是中文,長度都是1個字節.

string s = "你好中國xxx,";

Console.WriteLine("字符串長度為:" + s.Length);}

2.字符串中查找字符串


public void Test2(){

//返回-1證明查不到

//如果能查到,返回的是該字符或者字符串在字符串中索引位置

string s = "HFDJasdgajSGDasjgdhagshjdg";

int i = s.IndexOf('F',3,1);

Console.WriteLine (i);}

3. 字符串提取,截取指定范圍內的字符串

public void Test3(){

string s = "你好嗎,我的母親中國好棒!";

string temp = s.Substring(0,9);

Console.WriteLine (temp);}

字符串替換

public void Test4(){string s = "淫das,你dsa媽dsa個x,草曹操肏";//這些字符大多都是要被屏蔽的

string newStr = s.Replace("淫","*");Console.WriteLine (newStr);

//分幾種:1.親戚

//string pattern = @"[淫銀癮]|[草曹操肏]|[爹媽姑舅爺]";

//string newStr = Regex.Replace (s, pattern, "*");

//Console.WriteLine (newStr);}////// 字符串插入(指定位置)

///public void Test5(){string s = "你好,中國";

string newStr = s.Insert(0,"china");

Console.WriteLine (newStr);}

////// 判斷字符串以什么什么結尾

///public void Test6(){

string s = "你好,中國";bool b = s.EndsWith("中國");

if (b) {Console.WriteLine ("是以中國結束");}}

////// 字符串按照索引位置移除

///public void Test7(){string s = "你好,中國";string newStr = s.Remove(1,1);

Console.WriteLine (newStr);}

////// 字符串拼接

///public void Test8(){string s = "你好";s += "中國";Console.WriteLine (s);}

////// 判斷字符串是否相等

///public void Test9(){string s1 = "你好";string s2 = "你好1";

string s3 = "你好2";

//if (s1 == s2) {

//Console.WriteLine ("相等的字符串");

//}

if(string.Equals (s1, s2))

{Console.WriteLine ("字符串s1和s2相等");}}

////// 字符串轉換值類型

///public void Test10(){string s = "123.";//int i = int.Parse(s);int result = 0;bool l = int.TryParse (s, out result);

if (l) {Console.WriteLine ("轉換成功!~" + result);}?

else {throw new Exception ("傳入數據包含非法字符,請處理!");}}//拋出一個異常

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容