Roc*_*ngh 1 .net c# generics .net-3.5
我使用下面的代码:
var list = new Collection<ArrayList>
{
new ArrayList
{
1,
"Test1"
},
new ArrayList
{
2,
"Test2"
},
};
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我想避免使用ArrayList并使用泛型.在上面的代码中可以吗?
编辑:上面我在一个arraylist对象中只使用了两个值,我可能有多个int和string的项目.
您不能在通用列表中混合类型(除非泛型类型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" }
}
Run Code Online (Sandbox Code Playgroud)
另一种选择,如果使用.NET 4.0则使用a Tuple,但我宁愿使用强类型类.
(未经测试的代码):
var list = new Collection<Tuple<int,string>>
{
Tuple.Create(1, "Test1"),
Tuple.Create(2, "Test2")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |