C# 如何声明3列4行的数组

C# 如何声明3列4行的数组,c#,arrays,C#,Arrays,如何声明具有4行3列的数组。其中两列为int,另一列为string.help string[, ,] threeD = new string[3, 10, 10]; threeD[1, 807301, miama]= threeD; 数组包含单一类型的项 唯一的解决方法是使用项目类型的共同父类型作为类型 在这种情况下,对象: object[,,] threeD = new object[3,10,10]; 这将使您在检索项目时强制转换这些项目 作为替代方案,我

如何声明具有4行3列的数组。其中两列为int,另一列为string.help

        string[, ,] threeD = new string[3, 10, 10];
        threeD[1, 807301, miama]= threeD;

数组包含单一类型的项

唯一的解决方法是使用项目类型的共同父类型作为类型

在这种情况下,
对象

object[,,] threeD = new object[3,10,10];
这将使您在检索项目时强制转换这些项目

作为替代方案,我建议您创建一个类型,该类型包含具有三个正确类型属性的行,然后创建该类型的数组

不幸的是,这将使寻址列变得更加困难,但您可以使用Linq来获取列:

var textColumn = list.Select(item.Text);

我给你一个开始,做一个课程:

class MyItem
{
    public int oneInt {get;set;}
    public int twoInt {get;set;}
    public string oneString {get;set;}    
    public MyItem(int oneInt, int intTwo, string oneString)
    {
      this.oneInt = oneInt;
      this.twoInt = intTwo;
      this.oneString = oneString;

    }
}
然后列出一个包含4个类的列表:

var myFourRowArray = new List<MyItem>();
myFourRowArray.Add(new MyItem(1,252435,"first"));
myFourRowArray.Add(new MyItem(2,235423,"second"));
myFourRowArray.Add(new MyItem(3,454335,"third"));
myFourRowArray.Add(new MyItem(4,346435,"fourth"));
var myFourRowArray=new List();
添加(新的MyItem(1252435,“第一”);
添加(新的MyItem(2235423,“第二”);
添加(新的MyItem(3454335,“第三”);
添加(新的MyItem(4346435,“第四”);

您可以为此编写自己的自定义数据结构

e、 g

公共类MyObj
{
公共信息专栏1;
公共信息专栏2;
公共字符串列3;
公共MyObj(int col1、int col2、string col3)
{
column1=col1;
column2=col2;
column3=col3;
}
}
公共类MyList
{
public System.Collections.Generic.List List=新列表();
公共无效添加(MyObj obj)
{
列表。添加(obj);
}
}
公共类程序测试
{
公共静态void Main(字符串[]args)
{
MyList=新建MyList();
新增(新MyObj(1807301,“miama”);
新增(新MyObj(1807301,“测试2”);
新增(新MyObj(1807301,“测试3”);
新增(新MyObj(1807301,“测试4”);
//试验
foreach(list.list中的MyObj o)
{
控制台写入线(o.column1);
}
}
}
您可以使用这样的数组:

Tuple< int, int, string >[] arr = new Tuple< int, int, string >[4];
Tuple[]arr=新的Tuple[4];

用于4行3列的多维数组 您可以按以下方式编写代码:

object[,] _multi = new object[4, 3] { { 1, 2, "jj" }, 
                                      { 3, 4, "jd" },  
                                      { 5, 6, "jz" },  
                                      { 7, 8, "jl" } };

如果您真的不需要数组,也可以使用
DataTable

简单例子

        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn() { DataType = typeof(int) });
        dt.Columns.Add(new DataColumn() { DataType = typeof(int) });
        dt.Columns.Add(new DataColumn() { DataType = typeof(string) });

        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());

        int RowId = 0, 
            ColId = 0;

        //Cell access example
        var Cell = dt.Rows[RowId][ColId];
        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn() { DataType = typeof(int) });
        dt.Columns.Add(new DataColumn() { DataType = typeof(int) });
        dt.Columns.Add(new DataColumn() { DataType = typeof(string) });

        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());
        dt.Rows.Add(dt.NewRow());

        int RowId = 0, 
            ColId = 0;

        //Cell access example
        var Cell = dt.Rows[RowId][ColId];