C#で文字列を初期化・比較する方法をわかりやすく解説
C#における文字列の初期化は非常に簡単です。ここでは、文字列の初期化方法と、2つの文字列を比較するための基本的な手法について解説します。
文字列の初期化
たとえば、「Hello, World!」という文字列を変数に格納したい場合は、次のように初期化します。
String str1 = "Hello, World!";
このように、ダブルクォーテーションで囲んだ文字列リテラルを代入するだけで、文字列型の変数を初期化できます。
文字列の比較には String.Compare メソッドを使う
C#で2つの文字列を比較するには、String.Compare メソッドを使用します。このメソッドのシグネチャは以下のとおりです。
public static int Compare(string str1, string str2)
このメソッドは、指定された2つの文字列オブジェクトを比較し、ソート順における相対的な位置関係を示す整数値を返します。
戻り値の意味
- 0 が返された場合: 両方の文字列は等しい
- 0 より小さい値の場合: str1 が str2 よりもソート順で前にある
- 0 より大きい値の場合: str1 が str2 よりもソート順で後にある
つまり、以下の条件式が true になれば、2つの文字列が等しいことになります。
String.Compare(str1, str2) == 0
サンプルコード
それでは、実際に1つの文字列を別の文字列と比較する例を見てみましょう。
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
string str1 = "John";
string str2 = "Andy";
if (String.Compare(str1, str2) == 0) {
Console.WriteLine(str1 + " and " + str2 + " are equal strings.");
} else {
Console.WriteLine(str1 + " and " + str2 + " are not equal strings.");
}
Console.ReadKey() ;
}
}
}実行結果
「John」と「Andy」は異なる文字列であるため、実行すると次のような出力が得られます。
John and Andy are not equal strings.
まとめ
C#では、文字列の初期化は代入文だけで完結し、比較には String.Compare メソッドを使うのが基本です。戻り値が 0 かどうかを判定することで、2つの文字列が等しいかどうかを簡単に確認できます。なお、大文字小文字を区別せずに比較したい場合や、カルチャ(文化情報)を考慮した比較を行いたい場合は、StringComparison 列挙体を引数に追加することもできるので、用途に応じて使い分けるとよいでしょう。
-
JavaScriptで文字列と真偽値(Boolean)を比較する方法をわかりやすく解説
JavaScriptにおける文字列と真偽値の比較JavaScriptで文字列と真偽値(Boolean)を比較する場合、等価演算子 == を使うと、型が異なる値同士でも自動的に型変換(型強制)が行われて比較されます。そのため、直感に反する結果になることがあります。以下の例を見てみましょう。true を返す比較の例false == 0; // true true == 1; // true false == ; // trueこれらの式が true を返すのは、比較の際にまず真偽値が数値へ変換されるためです。false は 0 に、true は 1 に変換されます。さらに、文字列も数値へ
-
文字列とは何か?C言語での文字列の宣言と初期化方法を徹底解説
C言語における文字列(string)とは、複数の文字を並べた「文字の配列」、すなわち文字の集合体のことです。C言語には文字列型という専用のデータ型が存在しないため、char型の配列として文字列を扱います。 文字列の宣言 文字列は、以下の形式で宣言します。 char 文字列名 [サイズ]; たとえば char a[50]; と記述すると、最大50文字まで格納できる文字列が定義されます。なお、終端を表すヌル文字(\0)のぶんも領域が必要なため、実際に格納できるのは「サイズ − 1」文字である点に注意しましょう。 文字列の初期化 文字列の初期化には、主に次の2つの方法があります。 1. 単一文