我有一个数组,如果它的视觉布局由 100 行和 2 列组成,或者 (99,1)。我想要做的是创建 2 个一维数组,这样 (0-99,0) 在 1 个数组中,而 (0-99,1) 在另一个数组中。我如何在 C# 中执行此操作?这是我的代码,它几乎就在那里,但还不完全。
//Create Arrays A and B for the 2 columns of arrData
string sourceFilePath = @"c:\data.txt";
var arrData = File.ReadLines(sourceFilePath).Select(line => line.Split('\t')).ToArray();
string[] arrA = new string[arrData.Length];
string[] arrB = new string[arrData.Length];
long lngCounter;
for (lngCounter = 0; lngCounter <= arrData.Length; lngCounter++)
{
arrA[lngCounter] = arrData[lngCounter,0];
arrB[lngCounter] = arrData[lngCounter,1];
}
最佳答案
简单修复:
for (lngCounter = 0; lngCounter < arrData.Length; lngCounter++)
{
arrA[lngCounter] = arrData[lngCounter][0];
arrB[lngCounter] = arrData[lngCounter][1];
}
请记住,数组创建的输出不是矩形而是锯齿状数组。您假定为矩形。
我还想补充一点,只要文本文件中的列少于 2 列,代码就会中断。所以要注意这一点。
关于c# - 如何在 C# 中将维度 (100, 1) 的数组转换为 2 个单独的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269949/