Нельзя смешивать типы в общем списке (если только универсальный тип не равен object
, но это равняется ArrayList
и является просто извращением обобщенных типов).
Но вы можете создать класс, содержащий string
и int
и использовать его в качестве универсального параметра для универсального списка.
public class MyClass
{
public MyString string { get; set; }
public MyInt int { get; set; }
}
var list = new Collection<MyClass>
{
new MyClass { MyInt = 1, MyString = "Test1" },
new MyClass { MyInt = 2, MyString = "Test2" }
}
Другая альтернатива, если вы используете .NET 4.0, это использовать Tuple
, хотя я бы предпочел иметь строго типизированный класс.
(непроверенный код):
var list = new Collection<Tuple<int,string>>
{
Tuple.Create(1, "Test1"),
Tuple.Create(2, "Test2")
}