【C#入門】2つのStringオブジェクトが同じ値かどうかを確認する方法
C#で2つの文字列(String)オブジェクトが同じ値を持っているかどうかを確認するには、Equals()メソッドを使用します。このメソッドは、2つの文字列の内容が一致していればtrueを、異なっていればfalseを返します。
サンプルコード1:同じ値の場合
まずは、2つの文字列が同じ値を持つ場合の例を見てみましょう。
using System;
public class Demo {
public static void Main(String[] args){
string str1 = "John";
string str2 = "John";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
}
}出力結果
上記のコードを実行すると、以下のような出力が得られます。
String 1 = John String 2 = John String 1 is equal to String 2: True
この例では、str1とstr2はどちらも「John」という同じ値を持っているため、Equals()メソッドはTrueを返しています。
サンプルコード2:異なる値の場合
次に、2つの文字列が異なる値を持つ場合の例を確認しましょう。
using System;
public class Demo {
public static void Main(String[] args){
string str1 = "Tom";
string str2 = "Kevin";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
}
}出力結果
上記のコードを実行すると、以下のような出力が得られます。
String 1 = Tom String 2 = Kevin String 1 is equal to String 2: False
この例では、str1は「Tom」、str2は「Kevin」という異なる値を持っているため、Equals()メソッドはFalseを返します。
補足:Equals()メソッドと == 演算子の違い
C#では、文字列の比較に==演算子を使用することもできます。string型の場合、==演算子も値の等価性を比較するため、多くの場面でEquals()と同じ結果になります。ただし、nullの扱いや大文字・小文字の区別など、細かな挙動の違いを理解した上で使い分けることが重要です。大文字・小文字を区別せずに比較したい場合は、string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase)のようにオプションを指定することも可能です。
-
Pythonで文字列の前半と後半が同じ文字セットを持つか確認する方法
Pythonでは、文字列を中央で分割し、前半と後半が同じ文字セット(含まれる文字の種類と個数)を持っているかどうかを確認できます。入力文字列の長さは偶数の場合もあれば奇数の場合もあります。文字数が偶数であれば、ちょうど半分の位置で2つの部分に分割します。文字数が奇数の場合は、中央の1文字を無視し、残りの前半と後半を比較します。 処理の流れ 判定は次の手順で行います。 文字列の長さを取得し、偶数か奇数かを判定する 奇数の場合は中央の文字を除外し、前半と後半に分割する それぞれの部分をリストに変換してソートする ソート後の2つのリストを比較し、完全に一致すれば「同じ文字セット」と判断する
-
Pythonで文字列の前半と後半が同じ文字セットを持つかどうかを判定する方法
文字列が与えられたとき、その前半と後半がまったく同じ文字の集合を持っているかどうかを判定するのが、この記事のテーマです。解き方はシンプルです。まず文字列を中央で分割して2つの半分を作り、それぞれの半分に含まれる文字の種類と出現回数を比較します。もし文字列の長さが奇数の場合は、中央の1文字を無視し、残りの部分だけで判定を行います。アルゴリズムの手順ステップ1: 対象となる文字列を受け取ります。ステップ2: 入力文字列を中央で2つの部分に分割します。ステップ3: Counter(iterator) メソッドを使い、両方の部分をそれぞれ辞書(Counterオブジェクト)に変換します。各辞書は「文字を