freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

visualcshape示例-資料下載頁

2025-08-16 23:59本頁面
  

【正文】 // nonIEnumerable version { return new TokenEnumerator(this)。 } IEnumerator () // IEnumerable version { return (IEnumerator) new TokenEnumerator(this)。 } // Inner class implements IEnumerator interface: public class TokenEnumerator: IEnumerator { private int position = 1。 private Tokens t。 public TokenEnumerator(Tokens t) { = t。 } public bool MoveNext() { if (position 1) { position++。 return true。 } else { return false。 } } public void Reset() { position = 1。 } public string Current // nonIEnumerator version: typesafe { get { return [position]。 } } object // IEnumerator version: returns object { get { return [position]。 } } } // Test Tokens, TokenEnumerator static void Main() { Tokens f = new Tokens(This is a welldone program., new char [] {39。 39。,39。39。})。 foreach (string item in f) // try changing string to int { (item)。 } }}“結(jié)構(gòu)”示例本示例介紹結(jié)構(gòu)的語法和用法。它還涉及類與結(jié)構(gòu)之間的重大差異。該示例包含結(jié)構(gòu)教程的源代碼。在 Visual Studio 內(nèi)生成并運(yùn)行示例生成并運(yùn)行“結(jié)構(gòu)”示例打開解決方案 ()。在“解決方案資源管理器”中,右擊“Struct1”項(xiàng)目并單擊“設(shè)為啟動(dòng)項(xiàng)目”。在“調(diào)試”菜單中,單擊“開始執(zhí)行(不調(diào)試)”。重復(fù)前面用于 Struct2 的步驟。從命令行生成并運(yùn)行示例生成并運(yùn)行“結(jié)構(gòu)”示例使用“更改目錄”命令轉(zhuǎn)到“Struct1”目錄。鍵入下列內(nèi)容:csc struct1使用“更改目錄”命令轉(zhuǎn)到“Struct2”目錄。鍵入下列內(nèi)容:csc struct2結(jié)構(gòu)教程請(qǐng)參見C 教程本教程介紹結(jié)構(gòu)的語法和用法。它還涉及類與結(jié)構(gòu)之間的重大差異。示例文件請(qǐng)參見“結(jié)構(gòu)”示例以下載和生成本教程中討論的示例文件。其他閱讀材料 struct 結(jié)構(gòu) C. 語法中的結(jié)構(gòu)語法 值類型 C 屬性 17. 屬性 StructLayoutAttribute 類教程此教程包括兩個(gè)示例。第一個(gè)示例向您展示如何聲明和使用結(jié)構(gòu),而第二個(gè)示例演示向方法傳遞實(shí)例時(shí)結(jié)構(gòu)和類之間的差異。還向您介紹下列主題: 結(jié)構(gòu)與類 堆還是堆棧? 構(gòu)造函數(shù)和繼承 結(jié)構(gòu)上的屬性示例 1本示例聲明一個(gè)結(jié)構(gòu),它有三個(gè)成員:一個(gè)屬性、一個(gè)方法和一個(gè)私有字段。本示例創(chuàng)建該結(jié)構(gòu)的一個(gè)實(shí)例,并將其投入使用:// using System。struct SimpleStruct{ private int xval。 public int X { get { return xval。 } set { if (value 100) xval = value。 } } public void DisplayX() { (The stored value is: {0}, xval)。 }}class TestClass{ public static void Main() { SimpleStruct ss = new SimpleStruct()。 = 5。 ()。 }}輸出The stored value is: 5結(jié)構(gòu)與類結(jié)構(gòu)可能看似類,但存在一些重要差異,應(yīng)引起注意。首先,類為引用類型,而結(jié)構(gòu)為值類型。使用結(jié)構(gòu),您可以創(chuàng)建行為類似內(nèi)置類型的對(duì)象,同時(shí)享有它們的好處。堆還是堆棧?在類上調(diào)用“新建”(New) 運(yùn)算符時(shí),它將在堆上進(jìn)行分配。但是,當(dāng)實(shí)例化結(jié)構(gòu)時(shí),將在堆棧上創(chuàng)建結(jié)構(gòu)。這樣將產(chǎn)生性能增益。而且,您不會(huì)像對(duì)待類那樣處理對(duì)結(jié)構(gòu)實(shí)例的引用。您將直接對(duì)結(jié)構(gòu)實(shí)例進(jìn)行操作。鑒于此原因,向方法傳遞結(jié)構(gòu)時(shí),結(jié)構(gòu)將通過值傳遞,而不是作為引用傳遞。示例 2本示例展示當(dāng)向方法傳遞結(jié)構(gòu)時(shí),將傳遞該結(jié)構(gòu)的副本,而傳遞類實(shí)例時(shí),將傳遞一個(gè)引用。// using System。class TheClass{ public int x。}struct TheStruct{ public int x。}class TestClass{ public static void structtaker(TheStruct s) { = 5。 } public static void classtaker(TheClass c) { = 5。 } public static void Main() { TheStruct a = new TheStruct()。 TheClass b = new TheClass()。 = 1。 = 1。 structtaker(a)。 classtaker(b)。 ( = {0}, )。 ( = {0}, )。 }}輸出 = 1 = 5代碼討論本示例的輸出表明:當(dāng)向 classtaker 方法傳遞類實(shí)例時(shí),只更改了類字段的值。但是向 structtaker 方法傳遞結(jié)構(gòu)實(shí)例并不更改結(jié)構(gòu)字段。這是因?yàn)橄?structtaker 方法傳遞的是結(jié)構(gòu)的副本,而向 classtaker 方法傳遞的是對(duì)類的引用。構(gòu)造函數(shù)和繼承結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但它們必須帶參數(shù)。聲明結(jié)構(gòu)的默認(rèn)(無參數(shù))構(gòu)造函數(shù)是錯(cuò)誤的。結(jié)構(gòu)成員不能有初始值設(shè)定項(xiàng)??偸翘峁┠J(rèn)構(gòu)造函數(shù)以將結(jié)構(gòu)成員初始化為它們的默認(rèn)值。使用 New 運(yùn)算符創(chuàng)建結(jié)構(gòu)對(duì)象時(shí),將創(chuàng)建該結(jié)構(gòu)對(duì)象,并且調(diào)用適當(dāng)?shù)臉?gòu)造函數(shù)。與類不同的是,結(jié)構(gòu)的實(shí)例化可以不使用 New 運(yùn)算符。如果不使用“新建”(new),那么在初始化所有字段之前,字段將保持未賦值狀態(tài),且對(duì)象不可用。對(duì)于結(jié)構(gòu),不像類那樣存在繼承。一個(gè)結(jié)構(gòu)不能從另一個(gè)結(jié)構(gòu)或類繼承,而且不能作為一個(gè)類的基。但是,結(jié)構(gòu)從基類對(duì)象繼承。結(jié)構(gòu)可實(shí)現(xiàn)接口,而且實(shí)現(xiàn)方式與類實(shí)現(xiàn)接口的方式完全相同。以下是結(jié)構(gòu)實(shí)現(xiàn)接口的代碼片段:interface IImage{ void Paint()。}struct Picture : IImage{ public void Paint() { // painting code goes here } private int x, y, z。 // other struct members}結(jié)構(gòu)上的屬性通過使用屬性可以自定義結(jié)構(gòu)在內(nèi)存中的布局方式。例如,可以使用 StructLayout() 和 FieldOffset 屬性創(chuàng)建在 C/C++ 中稱為聯(lián)合的布局方式。using 。[StructLayout()]struct TestUnion{ [FieldOffset(0)] public int i。 [FieldOffset(0)] public double d。 [FieldOffset(0)] public char c。 [FieldOffset(0)] public byte b1。}在上一個(gè)代碼段中,TestUnion 的所有字段都從內(nèi)存中的同一位置開始。以下是字段從其他顯式設(shè)置的位置開始的另一個(gè)示例:using 。[StructLayout()]struct TestExplicit{ [FieldOffset(0)] public long lg。 [FieldOffset(0)] public int i1。 [FieldOffset(4)] public int i2。 [FieldOffset(8)] public double d。 [FieldOffset(12)] public char c。 [FieldOffset(14)] public byte b1。}i1 和 i2 這兩個(gè) int 字段共享與 lg 相同的內(nèi)存位置。使用平臺(tái)調(diào)用時(shí),這種結(jié)構(gòu)布局控制很有用。結(jié)束語結(jié)構(gòu)使用簡單,并且有時(shí)證明很有用。但要牢記:結(jié)構(gòu)在堆棧中創(chuàng)建,并且您不是處理對(duì)結(jié)構(gòu)的引用,而是直接處理結(jié)構(gòu)。每當(dāng)需要一種將經(jīng)常使用的類型,而且大多數(shù)情況下該類型只是一些數(shù)據(jù)時(shí),結(jié)構(gòu)可能是最佳選擇?!八饕鳌笔纠臼纠f明 C 類如何聲明索引器以提供對(duì)類的類似數(shù)組的訪問。該示例包含索引器教程的源代碼。在 Visual Studio 內(nèi)生成并運(yùn)行示例生成并運(yùn)行“索引器”示例1. 打開解決方案 ()。2. 在“解決方案資源管理器”中,右擊“indexers”項(xiàng)目并單擊“屬性”。3. 打開“配置屬性”文件夾并單擊“調(diào)試”。4. 在“命令行參數(shù)”屬性中,輸入 ..\..\。5. 單擊“確定”。6. 在“調(diào)試”菜單中,單擊“開始執(zhí)行(不調(diào)試)”。從命令行生成并運(yùn)行示例生成并運(yùn)行“索引器”示例1. 若要編譯示例程序,請(qǐng)?jiān)诿钐崾咎庢I入以下內(nèi)容:csc 2. 示例程序?qū)⒎崔D(zhuǎn)作為命令行參數(shù)給出的文件中的字節(jié)。例如,若要反轉(zhuǎn) 文件中的字節(jié)并查看結(jié)果,請(qǐng)發(fā)出下列命令:3. indexer type 4. 若要將反轉(zhuǎn)的文件更改回正常狀態(tài),請(qǐng)?jiān)谕晃募显俅芜\(yùn)行該程序。索引器教程請(qǐng)參見C 教程本教程展示 C 類如何聲明索引器以提供對(duì)類的類似數(shù)組的訪問。示例文件請(qǐng)參見“索引器”示例以下載和生成本教程中討論的示例文件。其他閱讀材料 索引器 訪問器 屬性與索引器之間的比較 索引器 索引器重載教程定義“索引器”使您可以創(chuàng)建作為“虛擬數(shù)組”的類。該類的實(shí)例可以使用 [] 數(shù)組訪問運(yùn)算符進(jìn)行訪問。在 C 中定義索引器類似于在 C++ 中定義運(yùn)算符 [],但前者靈活得多。對(duì)于封裝類似數(shù)組的功能或類似集合的功能的類,使用索引器使該類的用戶可以使用數(shù)組語法訪問該類。例如,假定您想定義一個(gè)類,該類使文件顯示為字節(jié)數(shù)組。如果文件非常大,則將整個(gè)文件讀入內(nèi)存是不切實(shí)際的,尤其在您只想讀取或更改少數(shù)字節(jié)時(shí)。通過定義 FileByteArray 類,您可使文件外觀類似于字節(jié)數(shù)組,但讀或?qū)懽止?jié)時(shí),實(shí)際執(zhí)行的是文件的輸入和輸出。除下面的示例以外,本教程中還討論有關(guān)“創(chuàng)建索引屬性”的高級(jí)主題。示例本示例中,F(xiàn)ileByteArray 類使得像字節(jié)數(shù)組那樣訪問文件成為可能。Reverse 類反轉(zhuǎn)文件的字節(jié)。可以運(yùn)行該程序以反轉(zhuǎn)任何文本文件的字節(jié),包括程序源文件本身。若要將反轉(zhuǎn)的文件更改回正常狀態(tài),請(qǐng)?jiān)谕晃募显俅芜\(yùn)行該程序。// // arguments: using System。using 。// Class to provide access to a large file// as if it were a byte array.public class FileByteArray{ Stream
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1