[英]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.