更新ObservableCollection中的现有值
本文关键字:ObservableCollection 更新 | 更新日期: 2023-09-27 18:25:53
我正在尝试更新&向ObservableCollection 添加值
我已经这样定义了ObservableCollection;
public ObservableCollection<Tuple<string, int>> LogSummary
{
get;
set;
}
在我的课堂上,我订阅了一个事件,该事件发送一个包含字母的字符串:a、B、C、D、E或F。
如果我接收到的字符串已经存在于集合中,我只想更新第二个项(int),它是我接收的字符串字母的计数。
如果我写这个代码
LogSummary.Add(new Tuple<string, int>(_stringFromEvent, intValue));
这只会在集合中添加一个新行,所以在使用LogSummary.add()之前,我需要弄清楚如何检查字符串是否已经存在,如果已经存在,它应该使用当前的int值并更新它,而不是向集合中添加新行。
希望你能理解我的问题!提前感谢,Jack
var existing = LogSummary.FirstOrDefault(t=>t.Item1 == _stringFromEvent)
if(existing != null)
{
//update
LogSummary[LogSummary.IndexOf(existing)] =
new Tuple<string, int>(existing.Item1, intValue);
}
else
{
//insert new
}