gpt4 book ai didi

c# - 我可以将包含对象的列表转换为二维数组吗

转载 作者:行者123 更新时间:2023-11-30 18:17:36 25 4
gpt4 key购买 nike

我不知道这在 C# 中是否可行,但如果可以的话就太好了。我有一个对象列表,使用以下代码很容易将其转换为数组:

object [] myArray = wrd.ToArray();

它工作正常,但我如何将包含对象的列表转换为二维数组,其中列表中从索引 0 到 20 的元素将位于二维数组的第一行。列表中从索引 21 到 41 的元素应位于二维数组的第二行。列表中从索引 42 到 62 的元素应该在二维数组的第三行等。换句话说,每行应该有 20 个元素,并且有 21 行和 21 列。图片中的 Forinstens labyrint那么应该在索引 [1,0] 处到达字符 'B'

但是我还是不知道这是否可能,但希望有一些非常熟练的人可以帮助我。

最佳答案

您可以遍历数组并将项目放入二维数组中。

// Pseudo code...
x = 0
y = 0
loop while i < originalArray.Length

2dArray[x,y] = originalArray[i]
i++
y++

if y >= 2dArrayRowLength
x++
y=0

end loop

但说真的,何必呢。 C# 中的二维数组实际上并没有改变数据的存储方式,它们只是用于以稍微不同的方式访问一维数组的语法糖。只需在访问一维数组时即时计算 x 和 y 偏移量即可。

有点像这样。

object[] data = new object[100];

int xLength = 21;
int yLength = 21;
for (int x = 0; x < xLength; x++)
{
for (int y = 0; y < yLength; y++)
{
var theValue = data[(yLength * x) + y];
Console.Write(theValue);
}

Console.WriteLine();
}

关于c# - 我可以将包含对象的列表转换为二维数组吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43293272/

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