天天看點

C# 修改list所有對象中的某字段

C# 修改list所有對象中的某字段

文法糖:ForEach(批量修改時候友善)

最簡單的方法就是用ForEach

List<MyObject> myObject = new List<MyObject>();
 myObject.ForEach(w => w.MyBool = true);      

上面代碼就是吧我們myObject 對象集合中所有的MyBool都更改為true

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; }
    } 
}