C# での結合操作に LINQ と Lambda を使用する方法は?
内部結合は、両方のテーブルに一致するか、両方のテーブルに存在するレコードまたは行のみを返します。以下に示すように、条件に基づいて複数のテーブルに結合を適用することもできます。
複数の条件に基づいて結合する必要がある場合は、匿名型を使用します。次の例では、Linq での接続に使用できる 2 つのメソッドを記述しました。 ここでは部門と従業員が接続されています
例
class Program{ static void Main(string[] args){ var result = Employee.GetAllEmployees().Join(Department.GetAllDepartments(), e => e.DepartmentID, d => d.ID, (employee, department) => new{ EmployeeName = employee.Name, DepartmentName = department.Name }); foreach (var employee in result){ Console.WriteLine(employee.EmployeeName + "\t" + employee.DepartmentName); } var result1 = from e in Employee.GetAllEmployees() join d in Department.GetAllDepartments() on e.DepartmentID equals d.ID select new{ EmployeeName = e.Name, DepartmentName = d.Name }; foreach (var employee in result1){ Console.WriteLine(employee.EmployeeName + "\t" + employee.DepartmentName); } Console.ReadLine(); } } public class Employee{ public int ID { get; set; } public string Name { get; set; } public int DepartmentID { get; set; } public static List<Employee> GetAllEmployees(){ return new List<Employee>(){ new Employee { ID = 1, Name = "A", DepartmentID = 1 }, new Employee { ID = 2, Name = "B", DepartmentID = 2 }, new Employee { ID = 3, Name = "B", DepartmentID = 1 }, new Employee { ID = 4, Name = "V", DepartmentID = 1 }, new Employee { ID = 5, Name = "F", DepartmentID = 2 }, new Employee { ID = 6, Name = "R", DepartmentID = 2 }, new Employee { ID = 7, Name = "TT", DepartmentID = 1 }, new Employee { ID = 8, Name = "YY", DepartmentID = 1 }, new Employee { ID = 9, Name = "WW", DepartmentID = 2 }, new Employee { ID = 10, Name = "QQ"} }; } } public class Department{ public int ID { get; set; } public string Name { get; set; } public static List<Department> GetAllDepartments(){ return new List<Department>(){ new Department { ID = 1, Name = "IT"}, new Department { ID = 2, Name = "HR"}, new Department { ID = 3, Name = "Contract"}, }; } }
出力
A IT B HR B IT V IT F HR R HR TT IT YY IT WW HR A IT B HR B IT V IT F HR R HR TT IT YY IT WW HR
以上がC# での結合操作に LINQ と Lambda を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、printf内の\ nエスケープシーケンスを使用してcで新しいライン文字を作成し、関数を置く方法について説明します。 機能を詳しく説明し、出力のラインブレークに使用することを示すコード例を提供します。

この記事では、CのNull Poernter recerferenceの課題を調査します。問題は、問題はnullではなく、その誤用であると主張しています。 記事では、参照前のチェック、ポインターInitialiなど、非参照を防止するためのベストプラクティスの詳細

この記事は、Cコンパイラの選択に関する初心者を案内しています。 GCCは、使いやすさ、幅広い可用性、広範なリソースが初心者に最適であるため、最適であると主張しています。 ただし、GCC、Clang、MSVC、およびTCCも比較して、その違いを強調しています

この記事では、現代のCプログラミングにおけるNullの継続的な重要性を強調しています。 進歩にもかかわらず、Nullは明示的なポインター管理にとって重要なままであり、有効なメモリアドレスがないことをマークすることにより、セグメンテーションの障害を防ぎます。 最高のPRAC

この記事では、初心者向けのオンラインCコンパイラをレビューし、使いやすさとデバッグ機能に焦点を当てています。 OnlineGDBとRepl.itは、ユーザーフレンドリーなインターフェイスと役立つデバッグツールのために強調表示されます。 プログラムやコンパイルなどのその他のオプション

この記事では、C IDEでの効率的なコードコピーについて説明します。 コピーはコンパイラ機能ではなくIDE機能であり、IDE選択ツールの使用、コード折りたたみ、検索/交換、テンプラなど、効率を向上させるための詳細戦略であることを強調しています。

この記事では、オンラインCプログラミングプラットフォームを比較し、デバッグツール、IDE機能、標準コンプライアンス、メモリ/実行の制限などの機能の違いを強調しています。 「最良の」プラットフォームはユーザーのニーズに依存していると主張しています。

このチュートリアルは、Windows、MacOS、LinuxにCコンパイラをインストールすることでユーザーをガイドします。 人気のコンパイラ(MINGW、Visual Studio、XCode、GCC)のインストールを詳述し、環境可変構成を説明し、トラブルシューティング手順を提供します
