C# 配列やリストにある特定のプロパティごとに振り分ける
C#で、配列やリストにある特定のプロパティごとに振り分けるサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Microsoft Visual Studio Community 2019 Version 16.7.1
プロパティごとに振り分ける
プロパティごとに振り分けるには、Linqの「ToLookup」を使用します。
以下は、配列やリストの値から重複しているデータを削除しただけのコードとなります。
using System;
using System.Collections.Generic;
using System.Linq;
namespace testapp
{
internal class sample
{
public int Id { get; set; }
public string Name { get; set; }
public int Score { get; set; }
}
class Program
{
private static List<sample> samples = new List<sample>() {
new sample() { Id = 2, Name = @"b", Score = 20 },
new sample() { Id = 1, Name = @"a", Score = 50 },
new sample() { Id = 2, Name = @"a", Score = 20 },
new sample() { Id = 2, Name = @"b", Score = 20 },
new sample() { Id = 3, Name = @"c", Score = 50 },
new sample() { Id = 2, Name = @"a", Score = 20 },
};
static void Main(string[] args)
{
try
{
ILookup<int, sample> reault = samples.ToLookup(v => v.Id);
foreach (var group in reault)
{
Console.WriteLine("キー : {0}", group.Key);
var item = group.ToList();
for (int i = 0; i < item.Count; i++)
{
Console.WriteLine("[{0}] id = {1}, Name = {2}, Score = {3}", i, item[i].Id, item[i].Name, item[i].Score);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
実行結果
-
前の記事
sshの失敗したログを確認する 2021.10.16
-
次の記事
Ruby webAPIにbodyをつけてpostする 2021.10.16
コメントを書く