Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储值的通用类_C#_.net - Fatal编程技术网

C# 存储值的通用类

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

在这个项目中,我经常使用“容器”来存储不同数量的不同类型的值。 例如,对于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 { 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));