簡體   English   中英

列表界面:從Java到C#

[英]List interface: from Java to C#

這些天我是一名學習C#的Java程序員。

通常在Java中使用列表時,它應該是針對其接口的優先編程,以便在實現之間切換:

List<Object> list = new ArrayList<Object>();
//or
list = new LinkedList<Object>(); 

C#怎么樣? 是否存在類似的方法? 有人能告訴我一個例子嗎? 從現在開始我以這種方式構建一個列表,但我不認為List是一個接口:

List<int> list = new List<int>();
list.Add(2);

在.NET中,最好使用層次結構中可能性最高的對象。 您可以使用IList<T>接口:

IList<int> list = new List<int>();
list.Add(2);

如果您不需要通過索引訪問列表,您還可以使用ICollection<T>接口,該接口在層次結構中更高。

或者,如果您只想枚舉列表,則可以使用最高可能的接口,即IEnumerable<T>

IEnumerable<int> list = new List<int>(new[] { 1, 2, 3 });
foreach(int item in list)
{
    ...
}
IList<int> = new List<int>();

在C#中它很容易 - 如果它以I為界面開始。

List<T>實現了許多接口,包括IList<T>ICollection<T> 您可能需要檢查代碼以確定哪個接口最合適。

在.net中, IList<T>是接口。 您可以為其分配任何接口的實現,例如List<T> 請參閱此接口的實現: http//msdn.microsoft.com/en-us/library/6sh2ey19.aspx#inheritanceContinued

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM