文件txt C#控制台中的Sum变量

文件txt C#控制台中的Sum变量,c#,C#,我有一个以txt格式存储的数据,然后显示数据。我想得到图片中的QOH总数,我在整个总数中有一个问题 public void DisTranswe() { Console.Clear(); FileStream fs = new FileStream("TransactionHistory\\weekend\\transcationhistory.txt", FileMode.Open, FileAccess.Read); StreamRea

我有一个以txt格式存储的数据,然后显示数据。我想得到图片中的QOH总数,我在整个总数中有一个问题

public void DisTranswe()
    {
        Console.Clear();
        FileStream fs = new FileStream("TransactionHistory\\weekend\\transcationhistory.txt", FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(fs);
        while ((str = sr.ReadLine()) != null)
        {
            string[] data = str.Split('#');
            string id = data[0];
            string date = data[1];
            string qty = data[2];
            string payment = data[3];
            string note = data[4];

            //output
            Console.WriteLine("IdTransaksi");
            Console.WriteLine(id);
            Console.WriteLine("DateTransaksi");
            Console.WriteLine(date);
            Console.WriteLine("QOH");
            Console.WriteLine(qty);
            Console.WriteLine("TotalPayment");
            Console.WriteLine(payment);
            Console.WriteLine("Note");
            Console.WriteLine(note);

        }
        sr.Close();
        fs.Close();
    }

谢谢大家!

试试这个:

int qoh =
    File
        .ReadAllLines("TransactionHistory\\weekend\\transcationhistory.txt")
        .Sum(x => int.Parse(x.Split('#')[2]));

为您的QOH添加计数器,如下所示:

public void DisTranswe()
    {
        Console.Clear();
        FileStream fs = new FileStream("TransactionHistory\\weekend\\transcationhistory.txt", FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(fs);
        int sum=0;
        while ((str = sr.ReadLine()) != null)
        {
            string[] data = str.Split('#');
            string id = data[0];
            string date = data[1];
            string qty = data[2];
            string payment = data[3];
            string note = data[4];

            sum=sum+int.Parse(qty);

            //output
            Console.WriteLine("IdTransaksi");
            Console.WriteLine(id);
            Console.WriteLine("DateTransaksi");
            Console.WriteLine(date);
            Console.WriteLine("QOH");
            Console.WriteLine(qty);
            Console.WriteLine("TotalPayment");
            Console.WriteLine(payment);
            Console.WriteLine("Note");
            Console.WriteLine(note);


        }

        Console.WriteLine("SUM");
        Console.WriteLine(sum);
        sr.Close();
        fs.Close();
    }

您能在问题中提供输入文本文件吗?如果您能在第一次中总结出
QOH
,为什么还要再次阅读该文件loop@Toshi-提供的代码与屏幕截图不匹配。在我看来,一行程序比试图混入似乎不是生产代码的代码更合适。我们也在处理小文件,所以第二次读取它很可能来自缓存-没有明显的惩罚。