如何声明数组与3列和4行
本文关键字:3列 4行 数组 何声明 声明 | 更新日期: 2023-09-27 18:12:39
如何声明有4行3列的数组?其中两列是整型,另一列是字符串。
string[, ,] threeD = new string[3, 10, 10];
threeD[1, 807301, miama]= threeD;
我给你一个开始,创建一个类:
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"));
如果你真的不需要一个数组,你也可以使用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];
您可以这样使用Tuple<T1, T2, T3>
数组:
Tuple< int, int, string >[] arr = new Tuple< int, int, string >[4];
用于4行3列的多维数组您可以用以下方式编写代码:
object[,] _multi = new object[4, 3] { { 1, 2, "jj" },
{ 3, 4, "jd" },
{ 5, 6, "jz" },
{ 7, 8, "jl" } };
数组包含单一类型的项。
唯一的解决方法是使用项目类型的共同父类型作为类型。
本例中object
:
object[,,] threeD = new object[3,10,10];
将使您在检索项时强制转换它们。
作为一种替代方法,我建议您创建一个类型,该类型包含具有三个正确类型的属性的行,然后创建该类型的数组。
不幸的是,这会使列的地址更难寻址,但你可以使用Linq来获取列:
var textColumn = list.Select(item.Text);
您可以为此编写自己的自定义数据结构。
。
public class MyObj
{
public int column1;
public int column2;
public string column3;
public MyObj(int col1, int col2, string col3)
{
column1 = col1;
column2 = col2;
column3 = col3;
}
}
public class MyList
{
public System.Collections.Generic.List<MyObj> List = new List<MyObj>();
public void Add(MyObj obj)
{
List.Add(obj);
}
}
public class ProgramTest
{
public static void Main(string[] args)
{
MyList list = new MyList();
list.Add(new MyObj(1, 807301, "miama"));
list.Add(new MyObj(1, 807301, "Test2"));
list.Add(new MyObj(1, 807301, "Test3"));
list.Add(new MyObj(1, 807301, "Test4"));
//test
foreach (MyObj o in list.List)
{
Console.WriteLine(o.column1);
}
}
}