使用分隔符读取文本文件中的所有行



我有一个包含以下内容的文件:

1,2,3,4,5#
1,2,3,4,5#

如何使用readline读取所有行?重要的是我需要分隔每行中的值,我的意思是第一行的值应该分开1,2,3,4,5

假设我有一个名为 myarray 的数组,可以将所有值保存在第一行:数组应该是这样的:

myarray[0]=1
myarray[1]=2
myarray[2]=3
myarray[3]=4
myarray[4]=5

我在 c# 中的 IO 中很新

此致敬意

使用 LINQ 可以执行以下操作:

List<string[]> list = File.ReadLines("YourFile.txt")
                          .Select(r => r.TrimEnd('#'))
                          .Select(line => line.Split(','))
                          .ToList();
  • File.ReadLines将逐行读取文件。
  • .Select(r => r.TrimEnd('#')) #将从线
  • .Select(line => line.Split(','))会在逗号上拆分行并返回字符串项数组。
  • ToList()会给你一个List<string[]>

您还可以在单个 Select 语句中使用 TrimEndSplit,如下所示(这将产生相同的输出(

List<string[]> list = File.ReadLines("YourFile.txt")
                          .Select(r => r.TrimEnd('#').Split(','))
                          .ToList();

试试这个

string[] readText = File.ReadAllLines(path);

这将返回所有行的数组。

https://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110(.aspx

您可以使用 StreamReader 从文件中读取所有行,并使用给定的分隔符 (,( 拆分它们。

var filename = @"C:data.txt";
using (var sr = new StreamReader(filename))
{
    var contents = sr.ReadToEnd();
    var myarray = contents.
        Split(',');
}

尽管我确实更喜欢 LINQ 方法的答案。

最新更新