Woo*_*ody 1 c# linq class list
我有以下列表和类:
List<MyClass> MyList
public class MyClass
{
public int id { get; set; }
public bool checked { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我也有两个变量:
int idToFind = 1234;
bool newcheckedvalue = true;
Run Code Online (Sandbox Code Playgroud)
我需要做的是搜索列表并找到id等于该值的MyClass对象idToFind.一旦我在列表中有了对象,我就想将类中checked属性的值更改为值的newcheckedvalue值.
LINQ似乎是解决这个问题的方法,我只是无法正确表达.我可以在一个LINQ表达式中执行此操作吗?
LINQ用于查询集合,而不是用于修改.你可以找到像这样的对象:
var item = MyList.FirstOrDefault(r=> r.id == idtoFind && r.checked == newcheckedvalue);
Run Code Online (Sandbox Code Playgroud)
要根据ID您唯一可以执行的操作找到该项目:
var item = MyList.FirstOrDefault(r=> r.id == idtoFind);
Run Code Online (Sandbox Code Playgroud)
稍后您可以设置/修改其属性.
//Make sure to check against Null, as if item is not found FirstOrDefault will return null
item.checked = newcheckedvalue; //or any other value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |