2012-04-05 4 views
-5

Я просто хочу знать разницу между List<string> lst = new List() и List<> lst = new List()разница между List <string> LST = новый список() и List <> LST = новый список()

+12

Последний не компилируется? – vcsjones

+2

Видимо, вы не экспериментировали с двумя вариантами, чтобы попытаться определить разницу самостоятельно. – phoog

+0

Вот ссылка MSDN на список http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx – aLoveForCoffee

ответ

7

Там нет List типа. List<T> (или List(Of T) в VB) является общим. Это означает, что список может содержать только тип вы передаете в

Например:.

List<string> list1 = new List<string>(); 
list1.Add("hello"); // OK 
list1.Add(123); // Compiler error 

List<int> list2 = new List<int>(); 
list2.Add("hello"); // Compiler error 
list2.Add(123); // OK 

Вы можете прочитать больше о generic list at MSDN.

Если вы хотите нетипированный список, вы можете использовать ArrayList:

ArrayList list = new ArrayList(); 
list.Add("hello"); // OK 
list.Add(123); // OK 

Но тогда вы должны знать тип, когда вы используете элемент из списка, так как он может быть любым объектом.

Смежные вопросы