C#一个listt的数据 修改他name=a的数据 只修改第一个 使用linq 的where foreach
你可以使用LINQ的Where方法来筛选出name为"a"的数据,并使用Foreach方法来循环遍历这些数据并修改第一个满足条件的数据。
以下是示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
List<Data> dataList = new List<Data>()
{
new Data { Id = 1, Name = "a" },
new Data { Id = 2, Name = "b" },
new Data { Id = 3, Name = "a" },
new Data { Id = 4, Name = "c" }
};
var query = dataList.Where(d => d.Name == "a"); // 使用Where方法筛选name为"a"的数据
bool isFirst = true; // 用于判断是否是第一个满足条件的数据
foreach (var data in query)
{
if (isFirst)
{
data.Name = "modified"; // 修改第一个满足条件的数据的name为"modified"
isFirst = false; // 将isFirst设置为false,表示已经修改了第一个满足条件的数据
}
}
foreach (var data in dataList)
{
Console.WriteLine($"Id: {data.Id}, Name: {data.Name}");
}
}
}
class Data
{
public int Id { get; set; }
public string Name { get; set; }
}
以上代码会输出以下结果:
Id: 1, Name: modified
Id: 2, Name: b
Id: 3, Name: a
Id: 4, Name: c
注意:这里假设你要修改的数据只有一个,如果有多个满足条件的数据,只会修改第一个满足条件的数据
原文地址: https://www.cveoy.top/t/topic/iHES 著作权归作者所有。请勿转载和采集!