gpt4 book ai didi

c# - 初始化交错数组

转载 作者:IT王子 更新时间:2023-10-29 04:46:31 26 4
gpt4 key购买 nike

我想在 C# 中创建数组 10 * 10 * 10,如 int[][][](不是 int[,,])。

我会写代码:

int[][][] count = new int[10][][];

for (int i = 0; i < 10; i++)
{
count[i] = new int[10][];

for (int j = 0; j < 10; j++)
count[i][j] = new int[10];
}

但我正在寻找一种更漂亮的方式。可能是这样的:

int[][][] count = new int[10][10][10];

最佳答案

int[][][] my3DArray = CreateJaggedArray<int[][][]>(1, 2, 3);

使用

static T CreateJaggedArray<T>(params int[] lengths)
{
return (T)InitializeJaggedArray(typeof(T).GetElementType(), 0, lengths);
}

static object InitializeJaggedArray(Type type, int index, int[] lengths)
{
Array array = Array.CreateInstance(type, lengths[index]);
Type elementType = type.GetElementType();

if (elementType != null)
{
for (int i = 0; i < lengths[index]; i++)
{
array.SetValue(
InitializeJaggedArray(elementType, index + 1, lengths), i);
}
}

return array;
}

关于c# - 初始化交错数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com