C# 将txt文件读入元组
如果我的txt文件包含与以下类似的行:C# 将txt文件读入元组,c#,loops,text,tuples,C#,Loops,Text,Tuples,如果我的txt文件包含与以下类似的行: 1.1,0.1836856,5.6 3.3, -5.5, 43.44 -0.38162,6.636666E-08,3.1 1.01516E-07、0.3695395、1.5 如何将文件读入元组 var reader=newstreamreader(File.OpenRead(@“C:\MyFile.txt”); 而(!reader.EndOfStream) { var line=reader.ReadLine(); var值=行分割(','); var
1.1,0.1836856,5.6
3.3, -5.5, 43.44
-0.38162,6.636666E-08,3.1
1.01516E-07、0.3695395、1.5
如何将文件读入元组
var reader=newstreamreader(File.OpenRead(@“C:\MyFile.txt”);
而(!reader.EndOfStream)
{
var line=reader.ReadLine();
var值=行分割(',');
var val1=decimal.Parse(值[0],System.Globalization.NumberStyles.Float);
var val2=decimal.Parse(值[1],System.Globalization.NumberStyles.Float);
var val3=数值[2];
Tuple myTuple=Tuple.Create(val1,val2,val3);
}
你基本上已经做到了。。只需将每个元组添加到列表中,这样每次迭代结束时它们就不会丢失
在while
循环之外和之前定义一个列表:
var results = new List<Tuple<decimal, decimal, string>>();
您也可以考虑替换<代码>文件.OpenRead()/<代码>。它一次打开你的文件,读取所有行,然后关闭它
这里有些东西看起来真的和你的不一样。。。只是把它扔出去。是否更清楚取决于你。它使用LINQ 它读取文件,然后拆分并为每行创建一个
元组
,生成相同的列表
var results = (from line in File.ReadLines(@"C:\MyFile.txt")
let values = line.Split(',')
select Tuple.Create(decimal.Parse(values[0], NumberStyles.Float),
decimal.Parse(values[1], NumberStyles.Float),
values[2])).ToList();
你基本上就在那里。。只需将每个元组添加到列表中,这样每次迭代结束时它们就不会丢失 在
while
循环之外和之前定义一个列表:
var results = new List<Tuple<decimal, decimal, string>>();
您也可以考虑替换<代码>文件.OpenRead()/<代码>。它一次打开你的文件,读取所有行,然后关闭它
这里有些东西看起来真的和你的不一样。。。只是把它扔出去。是否更清楚取决于你。它使用LINQ 它读取文件,然后拆分并为每行创建一个
元组
,生成相同的列表
var results = (from line in File.ReadLines(@"C:\MyFile.txt")
let values = line.Split(',')
select Tuple.Create(decimal.Parse(values[0], NumberStyles.Float),
decimal.Parse(values[1], NumberStyles.Float),
values[2])).ToList();
脱离主题,但您应该在循环结束后处理读取器。考虑使用<代码>使用< /Cord>键删除文本文件中的空格或修剪字符串值。目前val3=“5.6”。@GrantWinney为True,但他没有解析val3.Off主题,但您应该在循环结束后处理您的阅读器。考虑使用<代码>使用< /Cord>键删除文本文件中的空格或修剪字符串值。目前val3=“5.6”。@GrantWinney为True,但他没有解析val3。非常感谢您的帮助和示例。非常感谢您的帮助和示例。