欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

編程開發(fā)中線性鏈表如何測試

這篇文章主要介紹編程開發(fā)中線性鏈表如何測試,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)專注于威海企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。威海網(wǎng)站建設(shè)公司,為威海等地區(qū)提供建站服務(wù)。全流程定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

我們可以添加一些整型值到進(jìn)行線性鏈表測試:

public void Run(){      LinkedList ll = new LinkedList();      for ( int i = 0; i <  10; i ++ ){         ll.Add(i);      }       Console.WriteLine(ll);      Console.WriteLine("  Done. Adding employees...");  }

如果你對這段代碼進(jìn)行測試,它會如預(yù)計的那樣工作:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9  Done. Adding employees...

然而,因為這是一個Object類型的集合,所以你同樣可以將Employee類型添加到集合中。

ll.Add(new Employee("John"));  ll.Add(new Employee("Paul"));  ll.Add(new Employee("George"));  ll.Add(new Employee("Ringo"));   Console.WriteLine(ll);  Console.WriteLine("  Done.");

輸出的結(jié)果證實了,整型值和Employee類型都被存儲在了同一個集合中。

0, 1, 2, 3, 4, 5, 6, 7, 8, 9    Done. Adding employees...  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, John, Paul, George, Ringo  Done.

雖然看上去這樣很方便,但是負(fù)面影響是,你失去了所有類型安全的特性。因為線性鏈表需要的是一個Object類型,每一個添加到集合中的整型值都被隱式裝箱了,如同 IL 代碼所示:

IL_000c:  box        [mscorlib]System.Int32  IL_0011:  callvirt   instance void ObjectLinkedList.LinkedList::Add(object)

同樣,如果上面所說,當(dāng)你從你的列表中取出項目的時候,這些整型必須被顯式地拆箱(強(qiáng)制轉(zhuǎn)換成整型),Employee類型必須被強(qiáng)制轉(zhuǎn)換成 Employee類型。

Console.WriteLine("The fourth integer is " + Convert.ToInt32(ll[3]));  Employee d = (Employee) ll[11];  Console.WriteLine("The second Employee is " + d);

這些問題的解決方案是創(chuàng)建一個類型安全的集合。一個 Employee 線性鏈表將不能接受 Object 類型;它只接受 Employee類的實例(或者繼承自Employee類的實例)。這樣將會是類型安全的,并且不再需要類型轉(zhuǎn)換。一個整型的線性鏈表,這個鏈表將不再需要裝箱和拆箱的操作(因為它只能接受整型值)。

作為示例,你將創(chuàng)建一個 EmployeeNode,該結(jié)點知道它的data的類型是Employee。

public class EmployeeNode {      Employee employeedata;      EmployeeNode employeeNext;  }

Append 方法現(xiàn)在接受一個 EmployeeNode 類型的參數(shù)。你同樣需要創(chuàng)建一個新的 EmployeeLinkedList ,這個鏈表接受一個新的 EmployeeNode:

public class EmployeeLinkedList{      EmployeeNode headNode = null;  }

EmployeeLinkedList.Add()方法不再接受一個 Object,而是接受一個Employee:

public void Add(Employee data){      if ( headNode == null ){         headNode = new EmployeeNode(data);}      else{         headNode.Append(new EmployeeNode(data));      }  }

類似的,索引器必須被修改成接受 EmployeeNode 類型,等等。這樣確實解決了裝箱、拆箱的問題,并且加入了類型安全的特性。你現(xiàn)在可以添加Employee(但不是整型)到你新的線性鏈表中了,并且當(dāng)你從中取出Employee的時候,不再需要類型轉(zhuǎn)換了。

EmployeeLinkedList employees = new EmployeeLinkedList();  employees.Add(new Employee("Stephen King"));  employees.Add(new Employee("James Joyce"));  employees.Add(new Employee("William Faulkner"));  /* employees.Add(5);  // try to add an integer - won't compile */ Console.WriteLine(employees);  Employee e = employees[1];  Console.WriteLine("The second Employee is " + e);

這樣多好啊,當(dāng)有一個整型試圖隱式地轉(zhuǎn)換到Employee類型時,代碼甚至連編譯器都不能通過!

但它不好的地方是:每次你需要創(chuàng)建一個類型安全的列表時,你都需要做很多的復(fù)制/粘貼 。一點也不夠好,一點也沒有代碼重用。同時,如果你是這個類的作者,你甚至不能提前欲知這個鏈接列表所應(yīng)該接受的類型是什么,所以,你不得不將添加類型安全這一機(jī)制的工作交給類的使用者---你的用戶。

以上是“編程開發(fā)中線性鏈表如何測試”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:編程開發(fā)中線性鏈表如何測試
標(biāo)題鏈接:http://aaarwkj.com/article6/igdiog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、商城網(wǎng)站、關(guān)鍵詞優(yōu)化搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
亚洲天堂精品日韩电影| 日本免费播放一区二区视频 | 人妻天堂久久一区二区三区| 十八禁一区二区在线观看| 神马免费午夜福利剧场| 粉嫩一区二区三区在线| 国产日韩精品在线视频| 日韩毛片资源在线观看| 国产丝袜美腿一二三区| 国产av剧情一区二区| 天天操夜夜操狠狠操91| 日本成人午夜福利电影| 精品视频一区二区三区中文字幕| 亚洲永久免费黄色av| 一区不卡在线视频免费国产| 国产高清内射一级一片高清视频| 日韩精品有码在线视频免费观看| av影片在线观看不卡| 成人黄网站色大片免费观看| 18以下的人禁止看的视频| 一区二区蜜桃在线观看 | 精品久久久噜噜噜久久| 91在线视频欧美国产| 久久精品一区二区三区乱码| 色哟哟视频在线免费观看| 国产精品视频在线播放| 欧美中文字幕精在线不卡| 亚洲女人淫片在线观看| 人妖激情一区二区三区| 国内精品久久久国产盗摄| 日韩欧美一级性生活片| 日韩三级在线观看av| 亚洲男人的天堂社区av| 久久亚洲av麻衣北条麻妃| 亚洲国产日韩欧美在线播放| 国产精品一区二区高潮| 亚洲欧洲日韩综合另类| 日本在线高清不卡免费播放| 在线看日本十八禁网站| 色一区欧美一区亚洲一区| 18禁在线免费观看网站|