C#のIntersectメソッドを使ってリストの共通要素を取得する方法
C#では、LINQのIntersect()メソッドを使用することで、2つのコレクション(リスト)に共通して含まれる要素を簡単に取得できます。このメソッドは集合演算のひとつで、積集合(交差)を求める際に非常に便利です。
リストを作成する
まず、2つの整数型リストを作成します。
var list1 = new List<int>{99, 87};
var list2 = new List<int>{56, 87, 45, 99};Intersect()メソッドで共通要素を取得する
次に、Intersect()メソッドを呼び出して、上記2つのリストから共通する要素を取り出します。
var res = list1.Intersect(list2);
Intersect()メソッドは遅延実行されるため、戻り値であるIEnumerable<int>をforeachループなどで列挙した時点で実際に処理が行われます。また、結果には重複する要素が含まれず、元のコレクション内の順序が維持されます。
完全なコード例
using System.Collections.Generic;
using System.Linq;
using System;
public class Demo {
public static void Main() {
// 2つのリストを作成
var list1 = new List<int>{99, 87};
var list2 = new List<int>{56, 87, 45, 99};
// 共通する値を取得
var res = list1.Intersect(list2);
foreach(int i in res) {
Console.WriteLine(i);
}
}
}実行結果
99 87
このように、list1とlist2の両方に存在する「99」と「87」が出力されました。Intersect()メソッドを使えば、複数のデータセットから共通項を見つける処理を簡潔に記述できます。なお、カスタムクラスのオブジェクトに対して使用する場合は、既定では参照が比較されるため、値で比較したい場合はIEqualityComparer<T>を実装して引数として渡す必要がある点にも注意してください。
-
JavaScriptのparseInt()メソッドとは?文字列を整数に変換する使い方を解説
JavaScriptのparseInt()メソッドは、文字列を解析(パース)して整数を返すための関数です。数値に変換できる部分だけを読み取り、整数値として結果を返します。 さらに、第2引数として基数(記数法)を指定することもできます。たとえば「16」を指定すると、文字列を16進数として解釈します。 parseInt()メソッドの主な特徴 文字列の先頭から解析し、最初に現れた数値以外の文字の手前までを整数として返します。 小数点以下は切り捨てられます(例:20.50 → 20)。 先頭が数値として解釈できない場合、NaN(Not a Number)を返します。 第2引数の基数を指定することで、
-
HTMLのvarタグとは?数式の変数を表示する使い方とサンプルコード
HTMLの<var>要素は、数式や計算式の中で使われる変数(variable)を表すために使用されます。<var>タグで囲まれたテキストは、多くのブラウザでイタリック体(斜体)として表示されるのが特徴です。 それでは、実際に<var>タグをHTMLで実装する例を見ていきましょう。 サンプルコード <!DOCTYPE html> <html> <body> <h2>Mathematical Equation</h2> <p>Sample equation: <var>2x&l