操作历史记录C#
你好,我有个问题,我刚开始我的c#冒险,我有个问题,我想做计算器操作的历史,我的代码工作,但我想做最后10次操作的历史,但它只显示最后一次操作操作历史记录C#,c#,generics,calculator,C#,Generics,Calculator,你好,我有个问题,我刚开始我的c#冒险,我有个问题,我想做计算器操作的历史,我的代码工作,但我想做最后10次操作的历史,但它只显示最后一次操作 public class CalculationHistory { public CalculationHistory() { Items = new List<CalculationHistoryItem>(); } public List&l
public class CalculationHistory
{
public CalculationHistory()
{
Items = new List<CalculationHistoryItem>();
}
public List<CalculationHistoryItem> Items { get; set; }
public void Add(double x, double y, string z)
{
Items.Add(new CalculationHistoryItem(x, y, z));
}
}
public class CalculationHistoryItem
{
public double x { get; set; }
public double y { get; set; }
public string z { get; set; }
public CalculationHistoryItem(double first, double sec, string res)
{
x = first;
y = sec;
z = res;
}
}
问题的原因是,对于每个新的计算操作,都会创建一个新的“CalculationHistory”对象。因此,每个CalculationHistory对象都保留自己的历史记录 解决方案:在循环外定义一个对象
CalculationHistory history = new CalculationHistory();
为每个操作添加到同一对象
Console.WriteLine("Lista ostatnich operacji : ");
history.Add(x, y, z);
foreach (var item in history.Items)
Console.WriteLine(item);
break;
这是因为您正在创建新的历史记录,而不是使用现有的历史记录
Console.WriteLine("Lista ostatnich operacji : ");
history.Add(x, y, z);
foreach (var item in history.Items)
Console.WriteLine(item);
break;