C# 修改list所有对象中的某字段
语法糖:ForEach(批量修改时候方便)
最简单的方法就是用ForEach
List<MyObject> myObject = new List<MyObject>();
myObject.ForEach(w => w.MyBool = true);
上面代码就是吧我们myObject 对象集合中所有的MyBool都更改为true
案例:
环境 dotnet Core 2.1
案例下载地址:https://download.youkuaiyun.com/download/qq_36051316/10749269
核心代码放在其他环境上一样通用
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//声明一个对象集合
List<MyObject> myObject = new List<MyObject>();
//循环添加对象到集合内
for (int i = 1; i < 20; i++)
{
MyObject woei = new MyObject
{
MyInt = i,
MyBool=false
};
myObject.Add(woei);
}
//开始输出第一次
Console.WriteLine("开始输出第一次:");
//循环输出发现我们的数据中MyBool全是false
foreach (var item in myObject)
{
Console.WriteLine($"int:{item.MyInt},bool:{item.MyBool}");
}
//通过更改后,改成true
myObject.ForEach(w => w.MyBool = true);
Console.WriteLine("开始输出第二次:");
//第二次输出:循环输出发现我们的数据中MyBool全是true
foreach (var item in myObject)
{
Console.WriteLine($"int:{item.MyInt},bool:{item.MyBool}");
}
}
}
public class MyObject
{
public int MyInt { get; set; }
public bool MyBool { get; set; }
}
}