文件txt C#控制台中的Sum变量
我有一个以txt格式存储的数据,然后显示数据。我想得到图片中的QOH总数,我在整个总数中有一个问题文件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
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-提供的代码与屏幕截图不匹配。在我看来,一行程序比试图混入似乎不是生产代码的代码更合适。我们也在处理小文件,所以第二次读取它很可能来自缓存-没有明显的惩罚。