正如@slightly-drifting 所指出的,在遍历二维数据结构时,您需要使用嵌套循环。它可以是foreach、传统的for,甚至是while,这取决于您的需要。
但是,如果您不关心内存分配或性能(仅处理 200 行时似乎就是这种情况),您可以使用File 和LINQ 来实现它。请注意,LINQ 提供了对用户更友好的 API,但是对于这个问题,在底层,它仍然使用嵌套循环。
足够的单词。这是一个示例:
private static void WriteToFile(string filePath, List<string>[] content)
{
using (var fileWriter = new StreamWriter(filePath))
{
foreach (var line in content)
{
if (line == null)
{
continue;
}
for (var i = 0; i < line.Count; i++)
{
fileWriter.Write(line[i]);
if (i != line.Count - 1)
{
fileWriter.Write(',');
}
}
fileWriter.WriteLine();
}
}
}
private static void WriteToFileOneLiner(string filePath, List<string>[] content)
{
File.WriteAllLines(filePath, content.Where(line => line != null).Select(line => string.Join(',', line)));
}
public static void Main(string[] args)
{
List<string>[] phase2 = new List<string>[200];
phase2[0] = new List<string>() { "Bob", "Complex", "B", "AOT", "Yes", "Yes", "Yes", "Yes", };
phase2[1] = new List<string>() { "Joe", "Complex", "B", "AOT", "Yes", "Yes", "Yes", "Yes" };
phase2[2] = new List<string>() { "Bill", "Complex", "A", "AOT", "Yes", "Yes", "Yes", "Yes" };
WriteToFile(@"C:\Path\to\my\file.txt", phase2);
WriteToFileOneLiner(@"C:\Path\to\my\file_oneliner.txt", phase2);
}