0

みなさん、こんにちは。解決策を事前に感謝します

私はこれらのオブジェクトを持っています

    List<AccessModuleInfo> listOfAccessModuleInfo = new List<AccessModuleInfo>();

    public class AccessModuleInfo
    {
       public int AccessModuleId { get; set; }
       public string AccessModuleName { get; set; }
       public List<AccessRoleInfo> ListOfAccessRole { get; set; }

     }

    public class AccessRoleInfo
    {
      public int AccessRoleId { get; set; }
      public string AccessRoleName { get; set; }
      public bool AccessRoleValue { get; set; }
    }

すでに入力されているlistOfAccessModuleInfoを受け取り、特定のAccessModuleInfoでAccessRoleValueを更新しようとすると、同じAccessRoleIdを持つすべてのAccessRoleValueが更新されます。

特定のAccessModuleInfoのAccessRoleValueのみを更新したい(たとえば、AccessModuleId = 4の場合)

ありがとう

4

1 に答える 1

0

通常、このようなものは問題なく機能するはずです。

// You didn't confuse == vs = did you?
// Single also helps us debug and ensure we're only getting one result
var itemToUpdate = listOfAccessModuleInfo.Where(x => x.AccessModuleId == 4).Single();
itemToUpdate.ListOfAccessRole.ForEach(x => x.AccessRoleValue = newValue);
于 2013-10-14T13:29:38.677 に答える