我正在尝试更新&将值添加到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值并更新它而不是在集合中添加新行。
希望你理解我的问题! 提前致谢, 千斤顶
答案 0 :(得分:4)
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
}