第2章C程序設(shè)計基礎(chǔ)_第1頁
第2章C程序設(shè)計基礎(chǔ)_第2頁
第2章C程序設(shè)計基礎(chǔ)_第3頁
第2章C程序設(shè)計基礎(chǔ)_第4頁
第2章C程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2章

C#程序設(shè)計基礎(chǔ)

2.1標識符2.2C#中數(shù)據(jù)類型2.3C#中的變量和常量2.4類型轉(zhuǎn)換

2.5結(jié)構(gòu)類型和枚舉類型2.6C#運算符和表達式2.7C#中常用類和結(jié)構(gòu)2.1標識符

C#的標識符名稱必須遵守以下規(guī)則:(1)所有的標識符只能由字母、數(shù)字和下劃線這3類字符組成,且第一個字符必須為字母或下劃線。(2)標識符中不能包含空格、標點符號、運算符等其他符號。(3)標識符嚴格區(qū)分大小寫。(4)標識符不能與C#關(guān)鍵字名相同。(5)標識符不能與C#中的類庫名相同。a12_c√1abc2.2C#中數(shù)據(jù)類型C#中數(shù)據(jù)類型分類值類型的變量內(nèi)含變量值本身,C#的值類型可以分為簡單類型、結(jié)構(gòu)類型和枚舉類型。2.2.1值類型1.整數(shù)類型類型標識符說明占用位數(shù)取值范圍示例sbyte帶符號字節(jié)型8-128~127sbytei=10;byte無符號字節(jié)型80~255bytei=10;short帶符號短整型16-32,768~32,767shorti=10;ushort無符號短整型160~65,535ushorti=10;int帶符號整型32-2,147,483,648~2,147,483,647inti=10;uint無符號整型320~4,294,967,295uinti=10;uinti=10U;long帶符號長整型64-9,223,372,036,854,775,808~9,223,372,036,854,775,807longi=10;longi=10L;ulong無符號長整型640~18,446,744,073,709,551,615ulong

i=16;ulong

i=16U;ulong

i=16L;ulong

i=16UL;2.實數(shù)類型類型標識符說明取值范圍示例float單精度浮點數(shù)±1.5×10-45

~2.4×1038,精度為7位數(shù)floatf=1.23F;double雙精度浮點數(shù)±5.0×10-324

~1.7×10308,精度為15到16位數(shù)doubled=1.23;decimal固定精度的浮點數(shù)1.0×10-28到~7.9×1028的之間,精度為28至29位有效數(shù)字decimald=1.23M;3字符類型

例如,可以采用如下方式字符變量賦值:

charc='H'; //字符Hcharc='\x0048'; //字符H,十六進制轉(zhuǎn)義符(前綴為\x)

charc='\u0048'; //字符H,Unicode表示形式(前綴為\u)

charc=‘\r’; //回車,轉(zhuǎn)義字符在表示一個字符常數(shù)時,單引號內(nèi)的有效字符數(shù)量必須且只能是一個,而且不能是單引號或者反斜杠(\)。4.布爾類型布爾類型數(shù)據(jù)用于表示邏輯真和邏輯假,布爾類型的類型標識符是bool。

注意:在C#語言中,bool類型不能像C++語言那樣可能直接轉(zhuǎn)換為int類型,例如,inta=(2<3);在C/C++中都是正確的,但在C#中不允許這樣,會出現(xiàn)“無法將類型bool隱式轉(zhuǎn)換為int”的編譯錯誤。5.簡單類型對應(yīng)的.NETFramework系統(tǒng)類型別名C#類型.NETFramework類型C#類型.NETFramework類型boolSystem.BooleanuintSystem.UInt32byteSystem.BytelongSystem.Int64sbyteSystem.SByteulongSystem.UInt64charSystem.CharobjectSystem.ObjectdecimalSystem.DecimalshortSystem.Int16doubleSystem.DoubleushortSystem.UInt16floatSystem.SinglestringSystem.StringintSystem.Int32

引用類型也稱為參考類型。和值類型相比,引用類型的變量不直接存儲所包含的值,而是指向它所要存儲的值。類似C中的指針。2.2.2引用類型1.object類

object是C#中所有類型(包括所有的值類型和引用類型)的基類,C#中的所有類型都直接或間接地從object類中繼承而來。因此,對一個object的變量可以賦予任何類型的值。

floatf=1.23;objectobj1; //定義obj1對象

obj1=f;objectobj2="China"; //定義obj2對象并賦初值C#還定義了一個string類,表示一個Unicode字符序列,專門用于對字符串的操作。

同樣,這個類也是在.NETFramework的命名空間System中定義的,是類System.String的別名。

2.string類字符串在實際中應(yīng)用非常廣泛,利用string類中封裝的各種內(nèi)部操作,可以很容易完成對字符串處理。例如:

stringstr1="123"+"abc";//"+"運算符用于連接字符串

charc="HelloWorld!"[2];//"[]"運算符可以訪問string中的單個字符,c='e'stringstr2="China";stringstr3=@"China";//字符串的另一種表示形式,用@引起來。

boolb=(str2==str3); //"=="運算符用于兩個字符串比較,b=true1.變量定義在C#程序里使用某個變量之前,必須要告訴編譯器它是一個什么樣的變量,因此要對變量進行定義。定義變量的方法如下:

[訪問修飾符]數(shù)據(jù)類型變量名[=初始值];2.3C#中的變量和常量2.3.1變量例如:

stringname="王華";intage=20;也可以同時聲明一個或多個給定類型的變量,例如:

inta=1,b=2,c=3;

定義一個變量,系統(tǒng)就會在內(nèi)存中開辟相應(yīng)大小的空間來存放數(shù)據(jù)??梢詮南旅?個層面來理解變量。

變量名稱變量的值變量的數(shù)據(jù)類型變量的作用域2.3.2值類型變量和引用類型變量的區(qū)別程序的內(nèi)存空間分為??臻g和堆空間,值類型的數(shù)據(jù)在??臻g中分配,而引用類型數(shù)據(jù)(對象)在堆空間中分配。程序的執(zhí)行空間:??臻g堆空間1.??臻g和堆空間??臻g是一種先進后出的數(shù)據(jù)結(jié)構(gòu)。??臻g用于存儲如下類型的數(shù)據(jù):某些類型變量的值。程序當前的執(zhí)行環(huán)境。傳遞給方法的參數(shù)。進棧和出棧操作堆空間是一塊內(nèi)存空間,在堆空間中可以分配大塊的內(nèi)存以存儲某類型的數(shù)據(jù)對象。

與棧不同,堆里的空間能夠以任意順序存入和移除。如圖2.5所示表示一個程序在一個堆里存放了3個數(shù)據(jù)。2.理解值類型的變量C#中的值類型變量和C/C++語言中的普通變量(非指針變量)相似,這類變量直接包含它們的值。所有的值類型均隱式派生自

System.ValueType。C#中在內(nèi)存的??臻g中為值類型變量分配空間,而且沒有單獨的堆分配或垃圾回收開銷。因此值類型變量會隨著方法調(diào)用后??臻g的消亡而自動清除(C#中的值類型變量像C/C++語言中函數(shù)內(nèi)的局部變量,函數(shù)執(zhí)行完后由系統(tǒng)釋放其存儲空間)。例如:intx;inty=2;x=y;在C/C++語言中可以定義指針變量,例如:

char*p;其中,p是一個指針變量,其中存放某個字符變量的地址,注意變量p和它所指向的字符變量是兩個不同的東西。在C#中沒有指針,而改為引用,引用表示某個對象的地址而不是變量或?qū)ο蟊旧怼?.理解引用類型的變量在C#中,無論值類型變量還是引用類型變量,都是在??臻g中分配對應(yīng)的存儲空間,所不同的是,引用類型變量所指向的對象是在托管堆上分配內(nèi)存空間的,為什么這樣呢?

voidfun()

{ char*p; //定義指針變量p inti; //定義整型變量i p=(char*)malloc(11*sizeof(char));

//為p分配11個字符的空間

for(i=0;i<10;i++) //為10個字符單元分別賦值'a'~'j'

*(p+i)='a'+i;*(p+i)=’\0’; printf("%s\n",p); //輸出:abcdefghij

}先看一個簡單的C/C++語言函數(shù):函數(shù)執(zhí)行后p所指向的空間沒有釋放

.NETFramework改進了這一點:將C#應(yīng)用程序的執(zhí)行置于CLR的監(jiān)控之下,而且所有引用類型變量所指向的對象(其生命周期是全局性的)都在托管堆上分配空間,程序執(zhí)行完畢,由CLR將堆空間全部回收,這樣就不會出現(xiàn)像前面C/C++程序出現(xiàn)的內(nèi)存泄漏問題了。所以在C#中,當定義一個引用類型變量時,系統(tǒng)在??臻g中為該引用變量分配存儲空間,要想創(chuàng)建對象并把對象的存儲地址賦給該變量,就需要使用new操作符。例如:

MyClassvar; //MyClass是已定義的類或類型

var=newMyClass(); //創(chuàng)建var引用的實例

,new

引用類型變量及其所指實例下面以數(shù)組引用類型變量為例進一步說明引用類型變量和值變量的區(qū)別:int[]a=newint[3]{1,2,3}; //定義一個數(shù)組afor(inti=0;i<3;i++) //輸出數(shù)組a的所有元素 Console.Write("{0}",a[i]);Console.WriteLine();int[]b=a; //定義數(shù)組b并賦值為afor(inti=0;i<3;i++) //修改數(shù)組b的元素

b[i]*=2;for(inti=0;i<3;i++) //再次輸出數(shù)組a的所有元素 Console.Write("{0}",a[i]);Console.WriteLine();引用型變量的復(fù)制:int[]b=a;1.直接常量直接常量是指把程序中不變的量直接硬編碼為數(shù)值或字符串值,例如,以下都是直接常量:

100 //整型直接常量

1.23e5 //浮點型直接常量2.2.3常量2.符號常量符號常量是通過關(guān)鍵字const聲明的常量,包括常量的名稱和它的值。常量聲明的格式如下:

const數(shù)據(jù)類型常量名=初始值;

其中,“常量名”必須是C#的合法標識符,在程序中通過常量名來訪問該常量?!邦愋蜆俗R符”指示了所定義的常量的數(shù)據(jù)類型,而“初始值”是所定義的常量的值。例如:

constdoublePI=2.14159265;2.4類型轉(zhuǎn)換值類型之間的轉(zhuǎn)換有隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。另外裝箱和拆箱也屬于一種類型轉(zhuǎn)換。隱式轉(zhuǎn)換是系統(tǒng)默認的、不需要加以聲明就可以進行的轉(zhuǎn)換。源類型目標類型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalushortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallongfloat、double、decimalulongfloat、double、decimalcharushort、int、uint、long、ulong、float、double、decimalfloatdouble2.4.1隱式轉(zhuǎn)換顯式轉(zhuǎn)換又叫強制類型轉(zhuǎn)換,與隱式轉(zhuǎn)換相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換類型,一般在不存在該類型的隱式轉(zhuǎn)換時才使用。格式如下:

(類型標識符)表達式

其作用是將“表達式”值的類型轉(zhuǎn)換為“類型標識符”的類型。例如:

(int)1.23//把double類型的1.23轉(zhuǎn)換成int類型,結(jié)果為1

2.4.2顯式轉(zhuǎn)換

需要提醒注意以下幾點:

(1)顯式轉(zhuǎn)換可能會導致錯誤。進行這種轉(zhuǎn)換時編譯器將對轉(zhuǎn)換進行溢出檢測。如果有溢出說明轉(zhuǎn)換失敗,就表明源類型不是一個合法的目標類型,轉(zhuǎn)換就無法進行。

(2)對于從float、double、decimal到整型數(shù)據(jù)的轉(zhuǎn)換,將通過舍入得到最接近的整型值,如果這個整型值超出目標類型的范圍,則出現(xiàn)轉(zhuǎn)換異常?!纠?.1】

設(shè)計一個控制臺程序說明類型轉(zhuǎn)換的應(yīng)用。usingSystem;namespaceproj2_1{classProgram{staticvoidMain(string[]args){inti=65,i1,i2; doubled=66.3456,d1,d2; charc='A',c1,c2; Console.WriteLine("i={0:d5},d={1:f},c={2}",i,d,c); i1=(int)d; //強制類型轉(zhuǎn)換

d1=i;

//隱式類型轉(zhuǎn)換

c1=(char)i;

//強制類型轉(zhuǎn)換

Console.WriteLine("i1={0:d5},d1={1:f},c1={2}",i1,d1,c1); i2=c; //隱式類型轉(zhuǎn)換

d2=(int)d; //強制類型轉(zhuǎn)換,轉(zhuǎn)換成整數(shù)后再隱式轉(zhuǎn)為double類型

c2=(char)d; //強制類型轉(zhuǎn)換

Console.WriteLine("i2={0:d5},d2={1:f},c2={2}",i2,d2,c2);}}}1.裝箱轉(zhuǎn)換

裝箱轉(zhuǎn)換是指將一個值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個對象類型的數(shù)據(jù)。例如,下面語句就執(zhí)行了裝箱轉(zhuǎn)換:

inti=10;

objectobj=i;

裝箱轉(zhuǎn)換過程2.4.3裝箱和拆箱2.拆箱轉(zhuǎn)換拆箱轉(zhuǎn)換是指將一個引用類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個值類型數(shù)據(jù)。拆箱操作分為兩步:首先檢查對象實例,確保它是給定值類型的一個裝箱值,然后把實例的值復(fù)制到值類型數(shù)據(jù)中。例如,下面兩條語句就執(zhí)行了拆箱轉(zhuǎn)換:

objectobj=10;

inti=(int)obj; //拆箱折箱轉(zhuǎn)換過程1.結(jié)構(gòu)類型的聲明結(jié)構(gòu)類型由若干“成員”組成的。數(shù)據(jù)成員稱為字段,每個字段都有自已的數(shù)據(jù)類型。聲明結(jié)構(gòu)類型的一般格式如下:

struct結(jié)構(gòu)類型名稱

{ [字段訪問修飾符]數(shù)據(jù)類型字段1; [字段訪問修飾符]數(shù)據(jù)類型字段2; ... [字段訪問修飾符]數(shù)據(jù)類型字段n;

};2.5結(jié)構(gòu)類型和枚舉類型2.5.1結(jié)構(gòu)類型例如,以下聲明一個具有姓名和年齡的結(jié)構(gòu)體類型Student:structStudent //聲明結(jié)構(gòu)類型Student{publicintxh; //學號

publicstringxm; //姓名

publicstringxb; //性別

publicintnl; //年齡

publicstringbh; //班號};2.結(jié)構(gòu)類型變量的定義聲明一個結(jié)構(gòu)類型后,可以定義該結(jié)構(gòu)類型的變量(簡稱為結(jié)構(gòu)變量)。定義結(jié)構(gòu)變量的一般格式如下:

結(jié)構(gòu)類型結(jié)構(gòu)變量;

例如,在前面的結(jié)構(gòu)類型Student聲明后,定義它的兩個變量如下:

Students1,s2;3.結(jié)構(gòu)變量的使用1)訪問結(jié)構(gòu)變量字段訪問結(jié)構(gòu)變量字段的一般格式如下:

結(jié)構(gòu)變量名.字段名例如,s1.xh表示結(jié)構(gòu)變量s1的學號,s2.xm表示結(jié)構(gòu)變量s2的姓名。結(jié)構(gòu)體變量的字段可以在程序中單獨使用,與普通變量完全相同。2)結(jié)構(gòu)變量的賦值結(jié)構(gòu)變量的賦值有兩種方式。結(jié)構(gòu)變量的字段賦值:使用方法與普通變量相同。結(jié)構(gòu)變量之間賦值:要求賦值的兩個結(jié)構(gòu)變量必須類型相同。例如:

s1=s2;這樣s2的所有字段值賦給s1的對應(yīng)字段?!纠?.2】

設(shè)計一個控制臺程序說明結(jié)構(gòu)類型的應(yīng)用。usingSystem;namespaceproj2_2{classProgram{structStudent//結(jié)構(gòu)類型聲明應(yīng)放在Main函數(shù)的外面

{ publicintxh; //學號

publicstringxm;//姓名

publicstringxb; //性別

publicintnl; //年齡

publicstringbh; //班號

}staticvoidMain(string[]args){Students1,s2; //定義兩個結(jié)構(gòu)類型變量

s1.xh=101; s1.xm="李明"; s1.xb="男"; s1.nl=20; s1.bh="07001"; Console.WriteLine("學號:{0},姓名:{1},性別:{2},年齡:{3},

班號:{4}",s1.xh,s1.xm,s1.xb,s1.nl,s1.bh); s2=s1; //將結(jié)構(gòu)變量s1賦給s2 s2.xh=108; s2.xm="王華"; Console.WriteLine("學號:{0},姓名:{1},性別:{2},年齡:{3},

班號:{4}",s2.xh,s2.xm,s2.xb,s2.nl,s2.bh); Console.WriteLine("學號:{0},姓名:{1},性別:{2},年齡:{3},

班號:{4}",s1.xh,s1.xm,s1.xb,s1.nl,s1.bh);

}}}在執(zhí)行s2=s1并修改s2后,s1沒有改變,說明s1、s2存儲在不同的位置。枚舉類型也是一種自定義數(shù)據(jù)類型,它允許用符號代表數(shù)據(jù)。枚舉是指程序中某個變量具有一組確定的值,通過“枚舉”可以將其值一一列出來。1.枚舉類型的聲明枚舉類型使用enum關(guān)鍵字聲明,其一般語法形式如下:

enum枚舉名{枚舉成員1,枚舉成員2,}其中,enum是結(jié)構(gòu)類型的關(guān)鍵字。2.5.2枚舉類型例如,以下聲明一個名稱為color的表示顏色的枚舉類型:

enumColor{Red,Green,Blue,White,Black}

在聲明枚舉類型后,可以通過枚舉名來訪問枚舉成員,其使用語法如下:

枚舉名.枚舉成員2.枚舉成員的賦值在聲明的枚舉類型中,每一個枚舉成員都有一個相對應(yīng)的常量值,默認情況下C#規(guī)定第1個枚舉成員的值取0,它后面的每一個枚舉成員的值按加1遞增。例如,前面Color中,Red值為0,Green值為1,Blue值為2,依次類推。可以為一個或多個枚舉成員賦整型值,當某個枚舉成員賦值后,其后的枚舉成員沒有賦值的話,自動在前一個枚舉成員值之上加1作為其值。例如:

enumColor{Red=0,Green,Blue=3,White,Black=1};則這些枚舉成員的值分別為0、1、3、4、1。3.枚舉類型變量的定義聲明一個枚舉類型后,可以定義該枚舉類型的變量(簡稱為枚舉變量)。定義枚舉變量的一般格式如下:

枚舉類型枚舉變量;

例如,在前面的枚舉類型Color聲明后,定義它的兩個變量如下:

Colorc1,c2;1)枚舉變量的賦值枚舉變量賦值的語法格式如下:

枚舉變量=枚舉名.枚舉成員例如:

c1=Color.Red;2)枚舉變量的訪問枚舉變量像普通變量一樣直接訪問。4.枚舉變量的使用2.6C#運算符和表達式2.6.1算術(shù)運算符符號意義示例+加法運算a+b?減法/取負運算a?b*乘法運算a*b/除法運算a/b%取余數(shù)a%b++累加a++??遞減a?

?字符串運算符只有一個,就是加號(+)。它除了作為算術(shù)運算符之外,還可以將字符串連接起來,變成合并的新字符串。例如:

strings="Hello";s=s+",World.";Console.WriteLine(s);//輸出:Hello,World.2.6.2字符串運算符賦值運算符(=)用于改變變量的值,它先求出右側(cè)表達式的結(jié)果,然后再將結(jié)果賦給左側(cè)的變量。符號意義示例+=加賦值a+=b等價于a=a+b-=減賦值a-=b等價于a=a-b*=乘賦值a*=b等價于a=a*b/=除賦值a/=b等價于a=a/b%=取模賦值a%=b等價于a=a%b<<=左移賦值a<<=b等價于a=a<<b>>=右移賦值a>>=b等價于a=a>>b&=與賦值a&=b等價于a=a&b^=異或賦值a^=b等價于a=a^b|=或賦值a|=b等價于a=a|b2.6.3賦值運算符2.6.4關(guān)系運算符符號意義示例<小于2<3為true<=小于等于2<=3為true>大于2>3為false>=大于等于2>=3為false==等于2==3為false!=不等于2!=3為true2.6.5邏輯運算符符號意義示例!邏輯非!(2<3)為false&&邏輯與(3<5)&&(5>4)為true||邏輯或(3<5)||(5>4)為true2.6.6位運算符符號意義示例~按位求反!2<<左移8<<2>>右移8>>2&按位與8&5^按位異或8^5|按位或8|5條件運算符是一個三元運算符,每個操作數(shù)同時又是表達式的值。由條件運算符構(gòu)成的表達式稱為條件表達式。條件運算符的使用格式如下:

表達式1?表達式2:表達式3例如,以下表達式返回a和b中的最大值:

max=a>b?a:b計算過程是,當a>b,max=a;否則max=b。2.6.7條件運算符2.6.8其他運算符1.sizeof運算符

sizeof運算符求值類型數(shù)據(jù)在內(nèi)存中占用的字節(jié)數(shù)。sizeof運算符的語法格式如下:

sizeof(類型標識符)其結(jié)果為一個整數(shù),表示指定類型的數(shù)據(jù)在內(nèi)存分配的字節(jié)數(shù)。該運算符只能作用于值類型或值類型變量。2.typeof運算符該運算符用于獲得指定數(shù)據(jù)類型的說明。例如,若聲明了結(jié)構(gòu)Student,則以下語句輸出聲明Student結(jié)構(gòu)類型的程序名等。

Console.WriteLine(typeof(Student));輸出:prog2_2.Program+Student3.new運算符該運算符用于創(chuàng)建一個類的對象。4.checked和Uncheckedchecked

關(guān)鍵字用于對整型算術(shù)運算和轉(zhuǎn)換顯式啟用溢出檢查。unchecked

關(guān)鍵字用于取消整型算術(shù)運算和轉(zhuǎn)換的溢出檢查。運算符的優(yōu)先級是指在表達式中哪一個運算符應(yīng)該首先計算。

C#根據(jù)運算符的優(yōu)先級確定表達式的求值順序:優(yōu)先級高的運算先做,優(yōu)先級低的操作后做,相同優(yōu)先級的操作從左到右依次做,同時用小括號控制運算順序,任何在小括號內(nèi)的運算最優(yōu)先進行。2.6.9運算符的優(yōu)先級2.7C#中常用類和結(jié)構(gòu)C#中一切都是對象。2.7.1String類屬性說明Chars獲取此字符串中位于指定字符位置的字符。Length獲取此字符串中的字符數(shù)。string類型是.NETFramework中的String類的別名。string類型定義了相等運算符(==和!=)用于比較兩個string對象,另外,+運算符用于連接字符串,[]運算符可以用來訪問string中的各個字符。方法說明Compare靜態(tài)方法。比較兩個指定的String對象CompareTo

非靜態(tài)方法。將此字符串與指定的對象或String進行比較,并返回兩者相對值的指示Concat

靜態(tài)方法。連接String的一個或多個字符串Contains非靜態(tài)方法。返回一個值,該值指示指定的String對象是否出現(xiàn)在此字符串中Equals非靜態(tài)方法。確定兩個String對象是否具有相同的值Format靜態(tài)方法。將指定的String中的每個格式項替換為相應(yīng)對象的值的文本等效項IndexOf非靜態(tài)方法。返回String或一個或多個字符在此字符串中的第一個匹配項的索引Insert非靜態(tài)方法。在該String中的指定索引位置插入一個指定的StringRemove非靜態(tài)方法。從該String中刪除指定個數(shù)的字符Replace非靜態(tài)方法。將該String中的指定String的所有匹配項替換為其他指定的StringSplit非靜態(tài)方法。返回包含該String中的子字符串(由指定Char或String數(shù)組的元素分隔)的String數(shù)組Substring非靜態(tài)方法。從此字符串中檢索子字符串ToLower非靜態(tài)方法。返回該String轉(zhuǎn)換為小寫形式的副本ToUpper非靜態(tài)方法。返回該String轉(zhuǎn)換為大寫形式的副本Trim非靜態(tài)方法。從此字符串的開始位置和末尾移除一組指定字符的所有匹配項【例2.7】

設(shè)計一個控制臺程序求用戶輸入的子串在主串中位置。usingSystem;namespaceProj3_6{classProgram{staticvoidMain(string[]args){ Stringmstr,sstr; Console.Write("輸入主串:"); mstr=Console.ReadLine(); Console.Write("輸入子串:"); sstr=Console.ReadLine(); Console.WriteLine("主串長度={0},子串長度={1}",mstr.Length,sstr.Length); if(String.Compare(mstr,sstr)!=0)

//使用靜態(tài)方法

Console.WriteLine("位置:{0}",mstr.IndexOf(sstr)); elseConsole.WriteLine("兩個字符串相同");}}}Math類位于System命名空間中,它包含了實現(xiàn)C#中常用算術(shù)運算功能的方法,這些方法都是靜態(tài)方法,可通過“Math.方法名(參數(shù))”來使用。2.7.2Math類

Convert類位于System命名空間中,用于將一個值類型轉(zhuǎn)換成另一個值類型。這些方法都是靜態(tài)方法,可通過“Convert.方法名(參數(shù))”來使用。方法說明ToBoolean將數(shù)據(jù)轉(zhuǎn)換成Boolean類型ToDataTime將數(shù)據(jù)轉(zhuǎn)換成日期時間類型ToInt16將數(shù)據(jù)轉(zhuǎn)換成16位整數(shù)類型ToInt32將數(shù)據(jù)轉(zhuǎn)換成32位整數(shù)類型ToInt64將數(shù)據(jù)轉(zhuǎn)換成64位整數(shù)類型ToNumber將數(shù)據(jù)轉(zhuǎn)換成Double類型ToObject將數(shù)據(jù)轉(zhuǎn)換成Object類型ToString將數(shù)據(jù)轉(zhuǎn)換成string類型2.7.3Convert類

DateTime結(jié)構(gòu)類位于System命名空間中,DateTime值類型表示值范圍在公元0001年1月1日午夜12:00:00到公元9999年12月31日晚上11:59:59之間的日期和時間??梢酝ㄟ^以下語法格式定義一個日期時間變量:

DateTime日期時間變量=newDateTime(年,月,日,時,分,秒);例如,以下語句定義了2個日期時間變量:

DateTimed1=newDateTime(2009,10,1);

DateTimed2=newDateTime(2009,10,1,8,15,20);

其中,d1的值為2009年10月1日零點零分零秒,d2的值為2009年10月1日8點15分20秒。2.7.4DateTime結(jié)構(gòu)屬性說明Date獲取此實例的日期部分Day獲取此實例所表示的日期為該月中的第幾天DayOfWeek

獲取此實例所表示的日期是星期幾DayOfYear獲取此實例所表示的日期是該年中的第幾天Hour獲取此實例所表示日期的小時部分Millisecond獲取此實例所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論