靜態(tài)構(gòu)造函數(shù):
1.一定是靜態(tài)類(lèi)才有靜態(tài)構(gòu)造函數(shù)嗎?錯(cuò)的
靜態(tài)函數(shù)的特點(diǎn):
1.靜態(tài)函數(shù)沒(méi)有修飾符修飾(默認(rèn)修飾符為private,但是你不能寫(xiě)出來(lái))
2.靜態(tài)構(gòu)造函數(shù)是系統(tǒng)默認(rèn)調(diào)用,程序員無(wú)法手動(dòng)調(diào)用
3.如果類(lèi)中沒(méi)有靜態(tài)構(gòu)造函數(shù),而此時(shí)類(lèi)中又包含靜態(tài)字段(未初始化的),
那么此時(shí)編譯會(huì)默認(rèn)生成靜態(tài)構(gòu)造函數(shù).
4.在靜態(tài)類(lèi)中或者靜態(tài)方法中,不能使用對(duì)象.
5.如果類(lèi)中包含靜態(tài)成員,且沒(méi)有被初始化,系統(tǒng)會(huì)默認(rèn)提供一個(gè)默認(rèn)的值,這也間接的說(shuō)明了
*我們不可以直接調(diào)用靜態(tài)構(gòu)造函數(shù),也沒(méi)辦法控制靜態(tài)函數(shù)的執(zhí)行時(shí)間.
6.靜態(tài)構(gòu)造函數(shù)只能被調(diào)用一次,并且不能有重載.
7.靜態(tài)構(gòu)造函數(shù)不能有形式參數(shù)
8.雖然靜態(tài)構(gòu)造函數(shù)和普通構(gòu)造函數(shù)名字一樣,但是系統(tǒng)規(guī)定它倆可以共存.盡管參數(shù)列表一樣.
9.靜態(tài)構(gòu)造函數(shù)是在普通構(gòu)造函數(shù)調(diào)用之前執(zhí)行,一般情況下用于初始化靜態(tài)字段.
或者攔截在實(shí)例化之前處理某些特定情況,可以在該函數(shù)中實(shí)現(xiàn).
用static修飾的類(lèi)為靜態(tài)類(lèi).
靜態(tài)類(lèi)的特點(diǎn):
1.靜態(tài)類(lèi)不能被直接實(shí)例化
2.靜態(tài)類(lèi)不能被繼承
3.靜態(tài)中不能包含實(shí)例成員
4.靜態(tài)類(lèi)就是特殊的密封類(lèi)
5.靜態(tài)類(lèi)中雖然不能包含實(shí)例成員,但是可以有常量.
6.靜態(tài)類(lèi)和實(shí)例調(diào)用方式不一樣,普通類(lèi)是以實(shí)例.的方式進(jìn)行調(diào)用
而靜態(tài)類(lèi)是以類(lèi)名.的方式進(jìn)行調(diào)用
7.靜態(tài)類(lèi)的訪問(wèn)速度相對(duì)而言比實(shí)例類(lèi)要快得多
8.如果類(lèi)中包含靜態(tài)構(gòu)造函數(shù)和函數(shù)的入口Main函數(shù),此時(shí)靜態(tài)構(gòu)造函數(shù)會(huì)在main函數(shù)之前調(diào)用
9.如果類(lèi)中包含靜態(tài)構(gòu)造函數(shù)并不包含main函數(shù),此時(shí)會(huì)先執(zhí)行main函數(shù)在執(zhí)行靜態(tài)構(gòu)造函數(shù)
字符串的用法
///?
///獲取字符串長(zhǎng)度
///?
publicvoidTest1(){
//無(wú)論英文,特殊符號(hào)還是中文,長(zhǎng)度都是1個(gè)字節(jié).
strings?="你好中國(guó)xxx,";
Console.WriteLine("字符串長(zhǎng)度為:"+?s.Length);
}
///?
///字符串中查找字符串
///?
publicvoidTest2(){
//返回-1證明查不到
//如果能查到,返回的是該字符或者字符串在字符串中索引位置
strings?="就是HFDJasdgajSGDasjgdhagshjdg不方便大家就卡死的";
inti?=?s.IndexOf('F',3,1);
Console.WriteLine(i);
}
///?
///字符串提取,截取指定范圍內(nèi)的字符串
///?
publicvoidTest3(){
strings?="你好嗎,我的母親中國(guó)好棒!";
stringtemp?=?s.Substring(0,9);
Console.WriteLine(temp);
}
///?
///字符串替換
///?
publicvoidTest4(){
strings?="淫露,你好你媽個(gè)x,草曹操肏";
stringnewStr?=?s.Replace("淫","*");
Console.WriteLine(newStr);
//分幾種:1.親戚
//????????????string?pattern?=?@"[淫銀癮]|[草曹操肏]|[爹媽姑舅爺]";
//????????????string?newStr?=?Regex.Replace?(s,?pattern,?"*");
//????????????Console.WriteLine?(newStr);
}
///?
///字符串插入(指定位置)
///?
publicvoidTest5(){
strings?="你好,中國(guó)";
stringnewStr?=?s.Insert(0,"china");
Console.WriteLine(newStr);
}
///?
///判斷字符串以什么什么結(jié)尾
///?
publicvoidTest6(){
strings?="你好,中國(guó)";
boolb?=?s.EndsWith("中國(guó)");
if(b)?{
Console.WriteLine("是以中國(guó)結(jié)束");
}
}
///?
///字符串按照索引位置移除
///?
publicvoidTest7(){
strings?="你好,中國(guó)";
stringnewStr?=?s.Remove(1,1);
Console.WriteLine(newStr);
}
///?
///字符串拼接
///?
publicvoidTest8(){
strings?="你好";
s?+="中國(guó)";
Console.WriteLine(s);
}
///?
///判斷字符串是否相等
///?
publicvoidTest9(){
strings1?="你好";
strings2?="你好1";
strings3?="你好2";
//????????????if?(s1?==?s2)?{
//????????????????Console.WriteLine?("相等的字符串");
//????????????}
if(string.Equals(s1,?s2)){
Console.WriteLine("字符串s1和s2相等");
}
}
///?
///字符串轉(zhuǎn)換值類(lèi)型
///?
publicvoidTest10(){
strings?="123.";
//????????????int?i?=?int.Parse(s);
intresult?=0;
booll?=int.TryParse(s,outresult);
if(l)?{
Console.WriteLine("轉(zhuǎn)換成功!~"+?result);
}else{
thrownewException("傳入數(shù)據(jù)包含非法字符,請(qǐng)?zhí)幚?/b>!");
}
}
????????Y?H?s