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# IEnumerable托收声明和;人口_C#_Generics - Fatal编程技术网

C# IEnumerable托收声明和;人口

C# IEnumerable托收声明和;人口,c#,generics,C#,Generics,我想创建类型为IEnumerable 我如何创建它并用数据填充它 欢迎任何建议 您可以使用Tuple作为IEnumerable的泛型类型: var myData=newlist(); Add(新元组(“myString”,1,2)); 但是,如果此数据的含义超出了单个方法,我建议使用字段创建一个类,用作IEnumerable的泛型类型,您可以使用Tuple作为IEnumerable的泛型类型: var myData=newlist(); Add(新元组(“myString”,1,2)); 但

我想创建类型为
IEnumerable

我如何创建它并用数据填充它

欢迎任何建议

您可以使用
Tuple
作为
IEnumerable
的泛型类型:

var myData=newlist();
Add(新元组(“myString”,1,2));
但是,如果此数据的含义超出了单个方法,我建议使用字段创建一个类,用作
IEnumerable

的泛型类型,您可以使用
Tuple
作为
IEnumerable
的泛型类型:

var myData=newlist();
Add(新元组(“myString”,1,2));

但是,如果这些数据的意义超出了单个方法,我建议创建一个类,使用您的字段作为
IEnumerable

的泛型类型,严格来说,您不能创建任何东西的IEnumerable集合,因为IEnumerable是一个接口,并且您不能创建接口的实例。您必须创建实现IEnumerable1的某个类的实例

因此,您需要类似于
列表的内容,但正如Oded所暗示的,这是不可能的,因为
列表
只能包含一个泛型参数(IEnumerable也是如此)

因此,Oded建议您使用“包装器”类将三个值封装为一个值,该值可以用作列表中的
T

如果,正如您最后的评论所示,您不知道如何创建和填充类或列表,我认为您需要做更多的研究


1我猜是可枚举的。范围在这里可能算作伪异常…

严格来说,你不能创建任何东西的IEnumerable集合-因为IEnumerable是一个接口,你不能创建接口的实例。您必须创建实现IEnumerable1的某个类的实例

因此,您需要类似于
列表的内容,但正如Oded所暗示的,这是不可能的,因为
列表
只能包含一个泛型参数(IEnumerable也是如此)

因此,Oded建议您使用“包装器”类将三个值封装为一个值,该值可以用作列表中的
T

如果,正如您最后的评论所示,您不知道如何创建和填充类或列表,我认为您需要做更多的研究


1我猜是可枚举的。范围在这里可能算作伪异常…

如何用数据填充它?感谢您的解决方案,但是如果要创建一个类,那么如何创建它和填充它可以非常简单地创建类,并且是OO编程的基础。如果你很难做到这一点,我建议你找一个关于OO编程基础知识的在线资源。一旦你创建了你的类-添加它将是相对简单的myData.Add(新的myClass(等等)那么,如何用数据填充它呢?感谢您提供的解决方案,但是如果要创建一个类,那么我如何创建它&填充它类可以非常简单地创建,并且是OO编程的基础。如果您正在努力做到这一点,我建议您在OO编程的基础上寻找在线资源。一旦您创建了类,添加它将d是相对简单的myData.Add(新的myClass(等)
var myData = new List<Tuple<string,int,int>>();

myData.Add(new Tuple<string,int,int>("myString", 1, 2));