我有一个包含此内容的文件:
1,2,3,4,5#
1,2,3,4,5#
如何使用readline
读取所有行?重要的是我需要将每行中的值分开,我的意思是第一行的值1,2,3,4,5
应该分开。< / p>
假设我有一个名为myarray
的数组,它可以保存第一行中的所有值:数组应该是这样的:
myarray[0]=1
myarray[1]=2
myarray[2]=3
myarray[3]=4
myarray[4]=5
我在IO#c /
中很新祝你好运
答案 0 :(得分:8)
使用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[]>
回复。 您还可以在单个TrimEnd
语句中使用Split
和Select
,如下所示(它会产生相同的输出):
List<string[]> list = File.ReadLines("YourFile.txt")
.Select(r => r.TrimEnd('#').Split(','))
.ToList();
答案 1 :(得分:2)
试试这个
string[] readText = File.ReadAllLines(path);
这将返回所有行的数组。
https://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110).aspx
答案 2 :(得分:1)
您可以使用StreamReader读取文件中的所有行,并使用给定的分隔符(,)拆分它们。
var filename = @"C:\data.txt";
using (var sr = new StreamReader(filename))
{
var contents = sr.ReadToEnd();
var myarray = contents.
Split(',');
}
虽然我更喜欢LINQ方法的答案。