C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でLINQを使用してコレクションの値を更新するにはどうすればよいですか?


コレクションがリストの場合、LINQの一部として利用できるForEach拡張メソッドを利用できます。

using System;
using System.Collections.Generic;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         List<Fruit> fruits = new List<Fruit> {
            new Fruit {
               Name = "Apple",
               Size = "Small"
            },
            new Fruit {
               Name = "Orange",
               Size = "Small"
            }
         };
         foreach(var fruit in fruits) {
            Console.WriteLine($"Fruit Details Before Update. {fruit.Name}, {fruit.Size}");
         }
         fruits.ForEach(fruit => { fruit.Size = "Large"; });
         foreach (var fruit in fruits) {
            Console.WriteLine($"Fruit Details After Update. {fruit.Name}, {fruit.Size}");
         }
         Console.ReadLine();
      }
   }
   public class Fruit {
      public string Name { get; set; }
      public string Size { get; set; }
   }
}

出力

上記のコードの出力は

です。
Fruit Details Before Update. Apple, Small
Fruit Details Before Update. Orange, Small
Fruit Details After Update. Apple, Large
Fruit Details After Update. Orange, Large

条件に基づいてリストアイテムを更新する場合は、Where()句を使用できます。

using System;
using System.Collections.Generic;
using System.Linq;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         IEnumerable<Fruit> fruits = new List<Fruit> {
            new Fruit {
               Name = "Apple",
               Size = "Small"
            },
            new Fruit {
               Name = "Orange",
               Size = "Small"
            },
            new Fruit {
               Name = "Mango",
               Size = "Medium"
            }
         };
         foreach(var fruit in fruits) {
            Console.WriteLine($"Fruit Details Before Update. {fruit.Name}, {fruit.Size}");
         }
         foreach (var fruit in fruits.Where(w => w.Size == "Small")) {
            fruit.Size = "Large";
         }
         foreach (var fruit in fruits) {
            Console.WriteLine($"Fruit Details After Update. {fruit.Name}, {fruit.Size}");
         }
         Console.ReadLine();
      }
   }
   public class Fruit {
      public string Name { get; set; }
      public string Size { get; set; }
   }
}

出力

上記のコードの出力は

です。
Fruit Details Before Update. Apple, Small
Fruit Details Before Update. Orange, Small
Fruit Details Before Update. Mango, Medium
Fruit Details After Update. Apple, Large
Fruit Details After Update. Orange, Large
Fruit Details After Update. Mango, Medium

上記では、サイズの小さい果物のみをフィルタリングし、値を更新しています。したがって、where句は条件に基づいてレコードをフィルタリングします。


  1. C#を使用して文字列の長さを計算するにはどうすればよいですか?

    C#のString.Lengthプロパティを使用して、文字列の長さを取得します。 str.Length このプロパティは、文字列内の単語を計算し、指定された文字列の長さを表示します。たとえば、文字列Amitの文字数は4文字です- string str = "Amit"; 例 以下は、文字列の長さを計算するためのC#プログラムです- using System; using System.Collections; namespace Demo {    class Program {       static void

  2. Pythonを使用してMySQLのテーブルの特定の値を更新するにはどうすればよいですか?

    表のデータが古くなっている可能性があり、しばらくしてからデータを変更する必要がある場合があります。学生のテーブルがあり、学生の1人が住所を変更したとします。間違ったデータによる将来の問題を回避するために、データベース内の学生の住所を変更する必要があります。 MySQLの「UPDATE」ステートメントは、テーブル内の値を更新するために使用されます。SET句は、列に新しい値を設定するために使用されます。 WHERE句は、テーブルのどこでデータまたは値を更新する必要があるかを識別するために使用されます。 構文 UPDATE table_name SET column=new_value WHERE