【发布时间】:2019-01-01 21:42:23
【问题描述】:
为什么无法使用 LINQ 根据条件更新项目值 这是我的代码:
class Program
{
public static List<Items> items = new List<Items>();
static void Main(string[] args)
{
// Add items to list
for (int i = 65; i <= 70 ; i++)
{
var RowItem = new Items();
RowItem.Code = i;
RowItem.Char = (char)(i);
items.Add(RowItem);
}
//Update item
items
.Where(s => s.Code == 70)
.Select(s => { s.Char ='*' ; return s; })
.ToList();
Console.WriteLine("\n\n\n");
foreach (var item in items)
{
Console.WriteLine("\t " + item.Code + " ----> " + item.Char);
}
Console.ReadKey(true);
}
}
Item 类定义如下 项目类定义如下 Item 类定义如下Item类定义如下
public class Items
{
public int Code { get; set; }
public Char Char { get; set; }
}
【问题讨论】:
-
似乎缺少一个作业。
-
items = items.Where... -
这是你的条件
for (int i = 65; i <= 70 ; i++),你正在做这样的事情.Where(s => s.Code == 700)。您的值在 65 到 70 之间 -
@Dani 认为 700 应该读作 70
-
为什么这么多人认为使用所谓的语言集成查询技术更新是个好主意?不是,linq 不能用于更新。但是,您当然可以根据现有列表创建一个新列表。
标签: c#