在我的函数中,我正在更新我的字符串DocumentLangaugeString,如代码所示。
现在,我需要在我的int [] DocumentLanguagesIds中添加元素,
我可以使用的查询表达式是:
from mi in ContextMenuItems where mi.IsChecked select mi.Data.Id
我的int []应该有被检查的项目(IsChecked = true),我该如何维护这个数组?每次用户点击该项时都会调用该函数。
这里ContextMenuItems是class属性,它具有我需要在我的数组中添加的ID。
private void ClickOnLanguageContextMenu(LanguageContextMenuItemViewModel item)
{
item.IsChecked = !item.IsChecked;
DocumentLanguagesString = string.Join(", ", from mi in ContextMenuItems where mi.IsChecked select mi.Data.Description);
DocumentLanguagesIds = /*need a way to add ids over here*/
}
答案 0 :(得分:0)
为了不对Id
属性重复查询,您可以执行以下操作:
var result = (from mi in ContextMenuItems where mi.IsChecked
select new { mi.Data.Description, mi.Data.Id }).ToList();
DocumentLanguagesString = string.Join(", ", result.Select(x => x.Description));
DocumentLanguagesIds = result.Select(x => x.Id).ToArray();
答案 1 :(得分:0)
也许
DocumentLanguagesIds =
(from mi in ContextMenuItems where mi.IsChecked select mi.Data.Id)
.ToArray();