Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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#中创建包含3列的列表?_C#_.net_List_Types_Datatable - Fatal编程技术网

如何在C#中创建包含3列的列表?

如何在C#中创建包含3列的列表?,c#,.net,list,types,datatable,C#,.net,List,Types,Datatable,如何在C#中创建包含3列的列表 每列必须有不同的类型 现在我已经试过了 List<int> list1 = new List<int>(); List<decimal> list2 = new List<decimal>(); List<string> list3 = new List<string>(); List list1=新列表(); List list2=新列表(); List list3=新列表(); 如何将

如何在C#中创建包含3列的
列表

每列必须有不同的
类型

现在我已经试过了

List<int> list1 = new List<int>();
List<decimal> list2 = new List<decimal>();
List<string> list3 = new List<string>();
List list1=新列表();
List list2=新列表();
List list3=新列表();
如何将其合并到一个
列表中

为了在一个
中读取它,并访问它。

您可以使用列表初始值设定项为此创建一个of

var list=新列表
{
(1,“试验”,1.2m),
(2,“测试”,3.6m)
};
或对
循环使用

var list=newlist();
foreach(可枚举范围(1,3)中的var项)
添加((项目,$“数据{item}”,项目));
并访问类似的项目

var item=list.FirstOrDefault();
var数据=项目数据;

但是请记住,命名元组可以从C#7开始使用。您可以使用所需的属性创建自己的自定义类,然后列出它是否可用

    public class MyClass
    {
        public int ItemA { get; set; }
        public string ItemB { get; set; }
        public bool ItemC { get; set; }
    }

List<MyClass> myList = new List<MyClass>();

如果你想创建一个包含三个不同变量的列表,你也可以考虑创建一个保存这些值的对象类;p>

public class MyObject
{
   public string StringProperty { get; set; }
   public int IntegerProperty { get; set; }
   public decimal DecimalProperty { get; set; }
}
然后创建如下列表:

List<MyObject> NewList = new List<MyObject>();

如果你指的是列表中的三种不同类型,那么请参考Pavel在元组中所说的。

列是什么意思?你试过什么?3列是什么意思?列表?一个具有三个属性的已定义类型的列表如何?是否要创建一个包含三列的datatable?不清楚您想要什么。它是一个包含3个不同类型属性的对象列表。为此,您需要创建一个类,该类将保存这些属性,然后初始化该类型的列表。@LopDev它是否回答了您的问题,是否需要更多详细信息?@LopDev“它始终保留最后一个itemObject,并用相同的“请发布代码,听起来像是有一个浅副本。@LopDev使用类,每次在添加到列表之前,都必须在循环中创建一个新实例,例如
var myClass=new myClass()
内部
循环时,而不是在
项目类
之前,必须先创建实例(在循环内部),然后再分配其属性,
var ItemsClass=new….
,否则您已经修改了该实例instance@PavelAnikhouski,非常感谢!我已经搞错了…我把你的答案标记为答案,谢谢!如何使用while循环添加多个项目?因为,我尝试了这个方法,这是一个很好的方法,但是当我通过while循环添加时,它总是保留最后一个itemObject,并用相同的values@LopDev“它总是保留最后一个itemObject,并用相同的“请发布代码,听起来你有一个浅拷贝。”。
List<MyObject> NewList = new List<MyObject>();
MyObject TempObject = new MyObject();
TempObject.StringProperty = "Foo";
TempObject.IntegerProperty = 2;
TempObject.DecimalProperty = 0.3;
NewList.Add(TempObject);