C# 从列表框计算数据的最佳方法
我想计算储存在列表框中的圈数数据的平均值等,如:XX:XX:XX:XXX,但不确定最佳方法是什么。例如,最好将项目放在列表框中,并使用数组从列表框中计算或读取数据,等等 谢谢C# 从列表框计算数据的最佳方法,c#,xaml,listbox,windows-phone,C#,Xaml,Listbox,Windows Phone,我想计算储存在列表框中的圈数数据的平均值等,如:XX:XX:XX:XXX,但不确定最佳方法是什么。例如,最好将项目放在列表框中,并使用数组从列表框中计算或读取数据,等等 谢谢 更新:每次用户按下按钮时,列表框都会添加一个新条目。该信息将一直存储到应用程序关闭 应该使用列表保存数据,然后可以将listbox绑定到数据。您可以使用linq执行所需的计算 有关示例,请参见此处: 您需要通过以下方式完成此任务。绑定允许您将数据存储在一个位置,并且仍然在UI中显示它。绑定是MVVM(模型-视图-视图-模型
更新:每次用户按下按钮时,列表框都会添加一个新条目。该信息将一直存储到应用程序关闭 应该使用列表保存数据,然后可以将listbox绑定到数据。您可以使用linq执行所需的计算 有关示例,请参见此处:
您需要通过以下方式完成此任务。绑定允许您将数据存储在一个位置,并且仍然在UI中显示它。绑定是MVVM(模型-视图-视图-模型)框架的基础 下面是一个XAML的示例
<ListBox ItemsSource="{Binding LapTimes}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Time}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
public class MainViewModel // Should implement INotifyPropertyChange
{
public MainViewModel()
{
LapTimes = new ObservableCollection<TimeSpan>();
}
public ObservableCollection<TimeSpan> LapTimes { get; private set; }
private void CalculateStuff()
{
// calculate times
}
}
背景视图模型可能看起来像
<ListBox ItemsSource="{Binding LapTimes}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Time}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
public class MainViewModel // Should implement INotifyPropertyChange
{
public MainViewModel()
{
LapTimes = new ObservableCollection<TimeSpan>();
}
public ObservableCollection<TimeSpan> LapTimes { get; private set; }
private void CalculateStuff()
{
// calculate times
}
}
public类MainViewModel//应实现INotifyPropertyChange
{
公共主视图模型()
{
圈数=新的可观测集合();
}
公共可观测集合重叠时间{get;private set;}
私有void CalculateStuff()
{
//计算次数
}
}
列表框是从哪里填充的/how?@Bmo谢谢我更新了问题。谢谢,但数据没有连接到数据库或任何东西?这没关系。如果有具有特性的对象列表,则可以创建对象列表。然后可以使用linq查询这些对象的属性。在您的情况下,对象将记录时间和您想要的任何其他信息,然后将其添加到列表中。