- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How can we update the values of a collection using LINQ in C#?
If the collection is a List, then we can make use of ForEach extension method which is available as part of LINQ.
Example
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; } } }
Output
The output of the above code is
Fruit Details Before Update. Apple, Small Fruit Details Before Update. Orange, Small Fruit Details After Update. Apple, Large Fruit Details After Update. Orange, Large
If we want to update the list items based on a condition, we can make use of Where() clause.
Example
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; } } }
Output
The output of the above code is
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
In the above we are filtering only the fruits having small size and updating the values. So, the where clause filters the record based on a condition.
Advertisements