全て
| カテゴリ未分類
| 通常
| 数学
| 投資
| 副業
| 転職・就職
| ブログ
| 株Stock
| VBA
| SharePoint
| REST API
| RenderListDataAsStream
| PowerAutomateDesktop
| Graph API
| PowerApps
| PowerAutomate
| PowerFx
| OfficeScriptオフィススクリプト
| PowerAutomate日時Excel日時相互関係
| PowerShell
| Dataverse
| UiPath
| OneDrive
| LINQ
| VB.NET
| C#.NET
| WPFC#.NET
| Git
| ネットワーク
| Azure
| AWS
| JP1
| セキュリティ
| JavaScript
| Google Cloud
| データベース
カテゴリ:C#.NET
`ToLookup`メソッドは、LINQ(Language Integrated Query)を使用して、コレクションからキーに基づいてグループ化されたデータのコレクションを生成するための便利な機能です。以下に、`ToLookup`の使用方法とその動作に関する解説を提供します: ### 使用方法 1. **メソッドのシグネチャ**: ```csharp public static ILookup<TKey, TElement> ToLookup<TSource, TKey, TElement>( this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector ); ``` 2. **引数**: - `source`: グループ化する元のコレクション(`IEnumerable<T>`) - `keySelector`: グループ化のためのキーを選択する関数 - `elementSelector`: 各要素から値を抽出するオプションの関数 3. **戻り値**: - `ILookup<TKey, TElement>`: キーとそのキーに関連付けられた要素のコレクションを持つ、グループ化されたデータ構造 ### 動作 1. **グループ化**: - `keySelector`によって指定されたキーに基づいて、元のコレクションがグループ化されます。 2. **要素の抽出**: - オプションで`elementSelector`を指定することができます。指定しない場合、元の要素がそのままグループ化されます。 - 指定された場合、各要素から値を抽出し、グループ化されたデータにはこれらの値が含まれます。 3. **データ構造**: - `ILookup<TKey, TElement>`は、キーとそのキーに関連付けられた要素のコレクションを持つ、シーケンスのグループ化されたデータ構造です。 - `ILookup`はディクショナリと似ていますが、1つのキーに複数の値を関連付けることができます。 4. **例外の処理**: - `ILookup`はインデクサーを持ち、存在しないキーにアクセスした場合、例外をスローするのではなく、空のシーケンスを返します。 ### 使用例 ```csharp var source = new List<string> { "apple", "banana", "cherry", "orange", "grape", "banana" }; var lookup = source.ToLookup(x => x[0]); foreach (var group in lookup) { Console.WriteLine($"Key: {group.Key}"); foreach (var item in group) { Console.WriteLine($" {item}"); } } ``` このコードは、文字の最初の文字に基づいて文字列をグループ化します。各グループには、そのキーに関連付けられた文字列が含まれています。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2024.04.27 10:36:15
[C#.NET] カテゴリの最新記事
|