将txt文件读入元组

问题描述:



我如何循环包含如下值的文件,并将它们存储在元组中?

Hi,
How can I loop through a file containg values like the ones below, and stored them in a Tuple ?

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

>


谢谢



thank you

var reader = new StreamReader(File.OpenRead(@"C:\MyFile.txt"));

while (!reader.EndOfStream)
{
    var line = reader.ReadLine();
    var values = line.Split(',');
    
    var val1 = decimal.Parse(values[0], System.Globalization.NumberStyles.Float);
    var val2 = decimal.Parse(values[1], System.Globalization.NumberStyles.Float);
    var val3 = values[2];
    
    Tuple myTuple = Tuple.Create(val1,val2, val3);
}

检查:



Check this:

string sFile  = @"D:\MyFile.txt";

string[] lines = File.ReadAllLines(sFile);
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");

var result = lines.Select
    (
        a=> Tuple.Create(
            double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[0], culture),
            double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[1], culture)
            double.Parse(a.Split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries)[2], culture)
        )
    )
    .ToList();





返回列表<元组< double,double,double>>