[C# Lambda] List使用方法
using System;
using System.Collections.Generic;
using System.Linq;
public class MyClass
{
public string StringField1 { get; set; }
public string StringField2 { get; set; }
public int NumberField { get; set; }
}
class Program
{
static void Main()
{
List<MyClass> myObjects = new List<MyClass>
{
new MyClass { StringField1 = "A", StringField2 = "X", NumberField = 10 },
new MyClass { StringField1 = "B", StringField2 = "Y", NumberField = 20 },
new MyClass { StringField1 = "A", StringField2 = "X", NumberField = 30 }
};
var groupedAndSelected = myObjects
.GroupBy(obj => new { obj.StringField1, obj.StringField2 })
.Select(group => new
{
GroupFields = group.Key,
SelectedFields = group.Select(obj => new { obj.NumberField }),
Total = group.Sum(obj => obj.NumberField)
})
.Where(result => result.GroupFields.StringField1 == "A" && result.GroupFields.StringField2 == "X");
foreach (var result in groupedAndSelected)
{
Console.WriteLine($"Group: StringField1 = {result.GroupFields.StringField1}, StringField2 = {result.GroupFields.StringField2}");
foreach (var selected in result.SelectedFields)
{
Console.WriteLine($"Selected Field: NumberField = {selected.NumberField}");
}
Console.WriteLine($"Total: {result.Total}");
}
}
}
執行結果:

留言
張貼留言