Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将txt文件读入元组_C#_Loops_Text_Tuples - Fatal编程技术网

C# 将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

如果我的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 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。非常感谢您的帮助和示例。非常感谢您的帮助和示例。