我正在编写一些类似这样的 C# 代码:
public class Item
{
   public bool flag { get; set; }
   public string itemName { get; private set;};
   Item(string _name)
   {
       this.itemName = _name;
       this.flag     = false;
   }
}
public class MainClass
{
    public static void Main() 
    {
        List itemList = new List<Item>();
        itemList.Add(new Item("ProductA");
        itemList.Add(new Item("ProductA");
        itemList.Add(new Item("ProductB");
        var itemGroups = from item in itemList group item by item.itemName;
        foreach (var itemGroup in itemGroups)
        {
            foreach (Item i in itemGroup)
            {
                i.flag = true;
                break;
            }
        }
    }
 }
我想在这里实现的是只更改一个组中的一个项目,而不触及同一组中的其他项目。从上面的代码中,我预计只有 itemName“ProductA”的第一个项目的标志设置为 true。但结果是这两个项目(项目名称为“ProductA”)都将其标志设置为 true。
我是 linq 的新手。我做错了什么吗?或者我怎样才能在这里实现目标?
非常感谢!!!
道格