c#split然后进行数学运算

时间:2014-05-31 12:24:18

标签: c# split

该文件包含

Londres, 14
Berlin, 11    
New York, 9    
Tokyo, 11

程序应读取每个字符串,移除温度(查找数字 在逗号之后)并找到平均温度4,写作 屏幕,4个城市的温度和平均温度。

我试过这样的事情,这只显示了城市的名字,但我需要知道平均温度。我不知道怎么做。

   string cami = "";

        FileStream fs = new FileStream(@"C:\..\..\..\..\..\..\..\ex1.txt", FileMode.Open);
        StreamReader sr = new StreamReader(fs);

        while (sr.Peek() != -1)
        {
            cami = sr.ReadLine();
            string[] s = cami.Split(',');
            Console.WriteLine("{0}", s);
        }

1 个答案:

答案 0 :(得分:1)

试试这个:

var data =
    File
        .ReadAllLines(@"@"C:\..\..\..\..\..\..\..\ex1.txt"")
        .Select(line => line.Split(','))
        .Select(parts => new
        {
            city = parts[0],
            temperature = decimal.Parse(parts[1].Trim())
        })
        .ToArray();

Array.ForEach(data, item => Console.WriteLine(item.city));

Console.WriteLine(data.Average(item => item.temperature));

我明白了:

Londres
Berlin
New York
Tokyo
11.25