C# 将文本文件拆分为二维字符串数组

标签 c# arrays string parsing split

我有一个看起来像这样的文本文件:

John,Gauthier,blue,May
Henry,Ford,Red,June
James,Bond,Orange,December

我想将它拆分成一个二维字符串数组,这样我就可以将每一行分开,然后再将每个单词分开。例如:

mystring[0][0] = "John"
mystring[1][3] = "June"
mystring[2][2] = "Orange"

这是我现在所做的:

string[] words = new string [100];
System.IO.StreamReader myfile = new System.IO.StreamReader("c:\\myfile.csv");

while (fichier.Peek() != -1)
{
  i++;
  words = myfile.ReadLine().Split(',');

}

我卡住了。我可以将它拆分为一维字符串数组,但不能拆分为二维字符串数组。我想我需要把它分开两次;第一次用 '\n',第二次用 ',',然后将两者放在一起。

最佳答案

这实际上是一条线:

File.ReadLines("myfilename.txt").Select(s=>s.Split(',')).ToArray()

由于这是一个初学者问题,下面是发生的事情:

File.ReadLines(filename) 返回文本文件中所有行的集合

.Select 是一个带有函数的扩展方法

s=>s.Split(',') 是函数,它将字符串 s 按所有逗号拆分并返回一个字符串数组。

.ToArray() 获取由 .Select 创建的字符串数组的集合,并从中创建一个数组,因此您得到数组的数组。

关于C# 将文本文件拆分为二维字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407762/

相关文章:

c - 指向二维指针数组的指针

c - 如何检查 char* 指针是否指向 C 中的字符串文字

string - 检查字符串是否以 Lua 中的特定模式开头和结尾

c# - 如何管理一百万条记录?

c# - 热仅在 datagridview 中更改特定列标题颜色?

非关联数组上的 PHP in_array 行为

java - 如何将多组ArrayList合并为一组ArrayList

java - 原始字符串文字 - 删除前导缩进

c# - 调用多播委托(delegate)是否分配内存?

c# - Nhibernate - 创建 SQLQuery - IndexOutOfRangeException