我正在尝试创建一个这样的数组:
3,100,21,0
0,100,17,22
9,80,9,44
等。我需要在for循环中执行此操作,我计算不同的值。在设计时未设置长度(行数)。可能是1,可能是500等。
我怀疑这很容易但是......?
该计算如何运作?我不确定这是怎么相关的?我的意思是,行数是在运行时计算的,第一个值来自排序列表;第二个值是固定的(在运行时),除了其中一个不是; taht是,第二个值都相同但只有一个;第三个值在函数中计算,第四个值是算术值,总和。
设计时间而不是运行时间。
罗恩
答案 0 :(得分:1)
您可以在运行时决定数组的大小,但是一旦创建它,它将变为不可变的,并且您将无法更改维度的大小。
int z = ... ;
int[,] array = new int[get1stDimensionLength(), z];
// programmatically fill the array
for (int i = 0; i < array.GetLength(0); i++) {
for (int j = 0; j < array.GetLength(1); j++) {
array[i,j] = 18;
}
}
答案 1 :(得分:0)
你可以使用像这样的通用列表
public struct MyArray<T1>
{
public void Init (T1 f, T1 s, T1 th, T1 fo)
{
First = f;
Second = s;
Third = th;
Forth = fo;
}
public T1 First { get; set; }
public T1 Second { get; set; }
public T1 Third { get; set; }
public T1 Forth { get; set; }
}
在这里你可以在编译时设置一个大小不确定的数组
List<MyArray<Int32>> list = new List<MyArray<int>>();