C# 存储值的通用类
在这个项目中,我经常使用“容器”来存储不同数量的不同类型的值。 例如,对于2和3个值:C# 存储值的通用类,c#,.net,C#,.net,在这个项目中,我经常使用“容器”来存储不同数量的不同类型的值。 例如,对于2和3个值: class Nodes2<K, V> { public K Key { get; set; } public V Value { get; set; } } class Nodes3<T1, T2, T3> { public T1 Value1 { get; set; } public T2 Value2 { ge
class Nodes2<K, V> {
public K Key { get; set; }
public V Value { get; set; }
}
class Nodes3<T1, T2, T3> {
public T1 Value1 { get; set; }
public T2 Value2 { get; set; }
public T3 Value3 { get; set; }
}
类节点2{
公钥{get;set;}
公共V值{get;set;}
}
类节点3{
公共T1值1{get;set;}
公共T2值2{get;set;}
公共T3值3{get;set;}
}
然后我在收藏中使用它们:
List<Nodes3<int, string, double>> descriptions = new List<Nodes3<int, string, double>>();
列表描述=新列表();
当不需要为每种情况创建单独的类时,这很适合于简单的情况
所以,问题是:在.NET内置类中是否有像我这样的值?是的,有。对于您拥有的关键值 对于节点持有者,您有(最多8个元素)。虽然有点麻烦(IMO),但您可以使用它们通过
Item1
,Item2
等访问项目
你是这样使用它们的:
var tuple = Tuple.Create("Hello", 0);
var hello = tuple.Item1;
var zero = tuple.Item2;
是的,它的实现带有额外的泛型类型参数。(Tuple
,Tuple
等)<代码>元组可从.NET 4获得
发件人:
以及:
诸如此类。已经有一个专门针对这个的类
列表列表=新列表();
添加(Tuple.Create(5,“string”,10d));
var tuple1 = Tuple.Create(12);
Console.WriteLine(tuple1.Item1)
var tuple2 = Tuple.Create("New York", 32.68);
Console.WriteLine("{0}: {1}", tuple2.Item1, tuple2.Item2);
List<Tuple<int, string, double>> lists = new List<Tuple<int, string, double>>();
lists.Add(Tuple.Create<int, string, double>(5, "string", 10d));