在c#列表中编辑一些元素

本文关键字:元素 编辑 列表 | 更新日期: 2023-09-27 18:01:34

我正在尝试编辑列表中的一些元素(称为treeNodes):

List<TreeNodeViewModel> treeNodes = GetAllTreeNodes();
foreach (var item in role.Privileges)
{
    TreeNodeViewModel treeNode = treeNodes.Single(tn => tn.id == item.Id.ToString());
    treeNode.state.IsChecked = true;
}

但是一旦treeNode.state.IsChecked = true;被执行,所有的列表项都有IsChecked = true,为什么会这样?

在c#列表中编辑一些元素

我做了treeNode。state = new NodeStateViewModel(false, false, false, true);并解决了这个问题