最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【c#技術(shù)】第6章 其它常用數(shù)據(jù)類型

2019-10-31 22:07 作者:游戲理想國  | 我要投稿



? 字符串類型的定義與使用

? 枚舉類型的定義與使用

? 委托類型的定義與使用

? 裝箱與拆箱的概念

6.1 循序漸進(jìn)學(xué)理論

6.1.1 字符串類型

1.字符串的種類及其定義

(1)規(guī)則字符串

[格式]:string字符串變量名[=字符串初值];

(2)逐字字符串

逐字字符串由@字符后跟雙引號(hào)括起來的零個(gè)或多個(gè)字符組成。

[格式]:string字符串變量名[=@字符串初值];


【例6-1】觀察下列程序的執(zhí)行結(jié)果。

[程序代碼]

usingSystem;

classA_6_1

{ public static void Main()

{ ?string str1="你是\"王三\"?"; ? //“\\"”是轉(zhuǎn)義字符

string str2="星期一\\星期二\\星期三"; ? ?//“\\”是轉(zhuǎn)義字符


string str3="你好!\t王三。"; ?//“\t”是轉(zhuǎn)義字符

string str4=@"你好\t王三\?"; ? //\t并不看成轉(zhuǎn)義字符,而是看成兩個(gè)字符

string str5=@"星期一\\星期二\\星期三"; ? // \\也不是轉(zhuǎn)義字符,而是看成兩個(gè)“\”

Console.WriteLine("str1={0},str2={1},str3={2}",str1,str2,str3);

Console.WriteLine("str3={0},str4={1}",str4,str5);

}

}

[執(zhí)行結(jié)果]


2.字符串類型的使用

【例6-3】編寫一個(gè)Windows應(yīng)用程序,程序的設(shè)計(jì)界面如圖6-1所示,程序的運(yùn)行界面如圖6-2所示。程序執(zhí)行時(shí)在第一個(gè)文本框中輸入一個(gè)字符串,然后按【倒置】按鈕將把輸入的字符串反序顯示在第二個(gè)文本框中。



3.字符串中單個(gè)字符的訪問

例如,有以下語句:

stringstr1="I am a teacher."//定義一個(gè)字符串并賦初值

charc;//定義一個(gè)字符變量

c=str1[0];//給字符變量賦一個(gè)字符,該字符為str1字符串的第一個(gè)字符

語句執(zhí)行后,字符變量c的值為'I'。


【例6-4】 編寫一個(gè)程序,用來統(tǒng)計(jì)用戶輸入的字符串中字母個(gè)數(shù)、數(shù)字個(gè)數(shù)和其它字符個(gè)數(shù)。程序的設(shè)計(jì)界面如圖6-3所示,程序的運(yùn)行界面如圖6-4所示。

6.1.2 結(jié)構(gòu)類型

在C++和C#中,結(jié)構(gòu)類型是對(duì)同一類具有某些特定屬性和功能的對(duì)象的抽象定義,其定義中可以包括構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員變量、成員函數(shù)、成員屬性等等,同C#中的類類型基本相同。

但結(jié)構(gòu)類型與類類型畢竟是兩種不同的類型,主要不同點(diǎn)體現(xiàn)在以下兩個(gè)方面。

(1)存儲(chǔ)值的不同

結(jié)構(gòu)類型是值類型,而類類型是引用類型。

(2)參數(shù)傳遞不同

[格式]:struct結(jié)構(gòu)型名

{

成員聲明;

}

例如:

structstudent

{ public string name;

public int age;

}


實(shí)際上程序中使用的不是結(jié)構(gòu)型,而是根據(jù)結(jié)構(gòu)型聲明的結(jié)構(gòu)型變量,根據(jù)結(jié)構(gòu)型聲明結(jié)構(gòu)型變量的格式如下。

[格式]:結(jié)構(gòu)型名 結(jié)構(gòu)型變量名;

例如有以下語句:

studentstu;

就是創(chuàng)建了一個(gè)名為stu的結(jié)構(gòu)型變量。

在程序中經(jīng)常需要訪問結(jié)構(gòu)型變量的成員,訪問方法如下。

結(jié)構(gòu)型變量名.成員名;

如要給stu的age成員賦值15,可使用如下語句:

stu.age=15;


【例6-5】 編程實(shí)現(xiàn)從鍵盤上輸入一個(gè)學(xué)生的學(xué)號(hào)、姓名和年齡,然后輸出剛剛輸入的學(xué)生學(xué)號(hào)、姓名和年齡。

6.1.3 枚舉類型

[格式]:[枚舉修飾符]enum 枚舉類型名 {枚舉常量1,枚舉常量2,…,枚舉常量n};

定義枚舉變量的語句格式如下:

枚舉類型名 變量名;

如果希望讓枚舉型常量的值是其它類型的,可在定義枚舉型時(shí)指定,定義格式與如下。

[格式]:[枚舉修飾符]enum 枚舉類型名: 類型說明符{枚舉常量1,枚舉常量2,…,枚舉常量n};


【例6-6】 定義一個(gè)職稱枚舉類型,輸出枚舉類型中所有枚舉常量的值。

6.1.4 委托類型

一個(gè)委托聲明定義了一個(gè)從類System.Delegate延伸的類。一個(gè)委托實(shí)例封裝一個(gè)方法及可調(diào)用的實(shí)體。在聲明委托時(shí)只需要指定委托指向的函數(shù)原型的類型,它不能有返回值也不能帶有輸出類型的參數(shù)。委托類型的定義格式如下。

[格式]:delegate數(shù)據(jù)類型說明符 委托類型名();

例如,若要聲明一個(gè)指向double類型函數(shù)原型的委托類型,可使用如下語句:

delegatedouble MyDelegate();


委托既可以封裝一個(gè)靜態(tài)方法也可以封裝一個(gè)非靜態(tài)的方法。委托的使用方法,一般分為二步:

(1)定義一個(gè)委托類型的實(shí)例變量,讓該實(shí)例變量指向某一個(gè)具體的方法。其一般格式如下。

[格式]:委托類型名 委托變量名=new 委托類型名(方法名);

(2)調(diào)用委托類型變量指向的方法。其一般格式如下。

[格式]:委托變量名(實(shí)參列表);

6.1.5 裝箱與拆箱

1.裝箱

所謂裝箱就是將一個(gè)值類型隱式地轉(zhuǎn)換成一個(gè)object類型或一個(gè)被該值類型應(yīng)用的接口類型。裝箱的方法是:創(chuàng)建一個(gè)object實(shí)例并將值復(fù)制給這個(gè)object實(shí)例。例如:

double f=23.0;

objectobj=f;

也可以用顯式的方法來進(jìn)行裝箱操作,語句如下:

double f=23.0;

objectobj=(object)f;

2.拆箱

拆箱是裝箱的反操作。所謂拆箱就是將一個(gè)對(duì)象類型顯式地轉(zhuǎn)換成一個(gè)值類型,或?qū)⒁粋€(gè)接口類型顯式地轉(zhuǎn)換成一個(gè)執(zhí)行該接口的值類型。例如:

doublef=23.0;

objectobj=f;

doublek=(double)obj;

6.2 典型實(shí)例練能力

6.2.1 典型實(shí)例一:回文字符串的判定

【實(shí)例題目】

編寫一個(gè)應(yīng)用程序,用來判斷用戶輸入的字符串是否為回文,所謂回文就是正讀和反讀均一樣的字符串。如“abcddcba”、“我是兵兵是我”均是回文,而“abcdefgh”則不是回文。程序的設(shè)計(jì)界面如圖6-5所示,程序的運(yùn)行界面如圖6-6所示。



6.3 上機(jī)練習(xí)重應(yīng)用

6.3.1 上機(jī)練習(xí)一:從字符串中分離出數(shù)字字符

【練習(xí)題目】

編寫一個(gè)程序,把在一個(gè)文本框中輸入的字符串中的數(shù)字字符分離出來,然后顯示在另一個(gè)文本框中。程序的設(shè)計(jì)界面如圖6-8所示,程序的運(yùn)行界面如圖6-9所示。



【c#技術(shù)】第6章 其它常用數(shù)據(jù)類型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
喀什市| 万盛区| 远安县| 灌阳县| 息烽县| 玛多县| 大理市| 琼海市| 萨嘎县| 曲水县| 都匀市| 观塘区| 天柱县| 息烽县| 阿拉善右旗| 溧阳市| 车险| 永昌县| 会东县| 饶平县| 光山县| 拜泉县| 吴川市| 靖江市| 滁州市| 仪征市| 虎林市| 通榆县| 壤塘县| 丹东市| 定安县| 双鸭山市| 汕头市| 神池县| 郁南县| 临漳县| 镇平县| 类乌齐县| 洛隆县| 佳木斯市| 汉川市|