如何使用LINQ有条件地更新List项目,我已经设法使用以下语法更新List中的所有项目:
var updatedList = sourceList.Select(x => {x.PropertyA = NewValue; return x;})。ToList();
答案 0 :(得分:0)
var updatedList = sourceList.Select(x => {return x = x.PropertyA == SomeValue?x1:x;})。ToList();
答案 1 :(得分:0)
您可以使用.Select将其投影到新集合,或使用.ForEach扩展方法影响原始列表。在任意条件下,两者都显示如下。
class Program
{
static void Main(string[] args)
{
List<testClass> ogList = new List<testClass>();
bool testCondition = true;
//use the select to update and project to new collection
var updated =
ogList
.Select(x =>
{
if (testCondition)
x.testProp = 1;
return x;
}).ToList();
//use the foreach to update original collection
ogList.ForEach(x =>
{
if (testCondition)
x.testProp = 1;
});
}
}
public class testClass
{
public int testProp { get; set; }
}
答案 2 :(得分:0)
您可以使用以下代码:
sourceList.Where(w => w.CheckProperty == valueofProperty).Select(s => {
s.PropertyA = valueofPropertyA ;
s.PropertyB = valueofPropertyB;
return s;
}).ToList();
答案 3 :(得分:0)
希望这个答案对您有帮助。 因此,在这里我创建数据库的对象,db_table和表的列表。
private DB dbs = new DB();
List<tab1> lst = new List<tab1>();
tab1 tabobj = new tab1();
在这里您将获得表中的数据列表
lst = dbs.tab1.ToList();
````````````
updating the table
```````````
tabobj.c1 = "value";
tabobj.c2 = "value";
将更新的列添加到表
dbs.tab1.Add(tabobj);
在此处保存更改
dbs.SaveChanges();
更新表的数据
lst = dbs.tab1.ToList();