準備
(なし)
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
// 名前空間の追加 // (なし) // コード private void button1_Click(object sender, EventArgs e) { // SQL タイプの LINQ string[] s1 = { "NEC", "SONY", "DELL", "FUJITSU", "HITACHI" }; string[] s2 = { "NEC", "DELL", "TOSHIBA", "EPSON", "SONY" }; var query = from s in s1.Intersect(s2) select s; foreach (var item in query) { listBox1.Items.Add(item); } } private void button2_Click(object sender, EventArgs e) { // メソッドタイプの LINQ string[] s1 = { "NEC", "SONY", "DELL", "FUJITSU", "HITACHI" }; string[] s2 = { "NEC", "DELL", "TOSHIBA", "EPSON", "SONY" }; var query = s1.Intersect(s2); foreach (var item in query) { listBox1.Items.Add(item); } }
解説
2 つの配列のデータの積集合を求めています。つまり、2 つの配列データに共通するデータのみ抽出しています。
button1 クリックと button2 クリックの処理内容は同一です。LINQ を SQL タイプで記述するかメソッドタイプで記述するかの違いだけです。
結果
動作確認環境
Visual Studio 2015 Professional (C# 6.0)