C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のStartsWith()メソッドとは?使い方とサンプルコードを解説

StartsWith()メソッドとは

C#のStartsWith()メソッドは、文字列(string)インスタンスの先頭部分が、指定した文字列と一致するかどうかを判定するためのメソッドです。判定結果はbool型として返され、一致する場合はtrue、一致しない場合はfalseとなります。

構文

public bool StartsWith (string val);

パラメータ val には、比較対象となる文字列を指定します。

使用例1:基本的な判定

次の例では、文字列「JohnAndJacob」が「J」で始まるかどうかを判定しています。

using System;
public class Demo {
   public static void Main() {
      string str = "JohnAndJacob";
      Console.WriteLine("String = "+str);
      Console.WriteLine("Does String begins with J? = "+str.StartsWith("J"));
      char[] destArr = new char[20];
      str.CopyTo(1, destArr, 0, 4);
      Console.Write(destArr);
   }
}

実行結果

String = JohnAndJacob
Does String begins with J? = True
ohnA

文字列「JohnAndJacob」は「J」で始まるため、StartsWith("J")trueを返しています。

使用例2:複数の文字列を比較

続いて、別の例を見てみましょう。

using System;
public class Demo {
   public static void Main(String[] args) {
      string str1 = "Akon";
      string str2 = "Eminem";
      Console.WriteLine("String 1 = "+str1);
      Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode());
      Console.WriteLine("Does String1 begins with E? = "+str1.StartsWith("E"));
      Console.WriteLine("\nString 2 = "+str2);
      Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode());
      Console.WriteLine("Does String2 begins with E? = "+str2.StartsWith("E"));
      Console.WriteLine("\nString 1 is equal to String 2? = {0}", str1.Equals(str2));
   }
}

実行結果

String 1 = Akon
HashCode of String 1 = 416613838
Does String1 begins with E? = False
String 2 = Eminem
HashCode of String 2 = 40371907
Does String2 begins with E? = True
String 1 is equal to String 2? = False

この例では、「Akon」は「E」で始まらないためfalse、「Eminem」は「E」で始まるためtrueが返されています。また、Equals()による文字列同士の等価比較もあわせて確認できます。

大文字・小文字を区別せずに判定したい場合

StartsWith()はデフォルトで大文字・小文字を区別します。区別せずに比較したい場合は、StringComparison列挙型を引数に渡すオーバーロードを使用すると便利です。

string str = "Hello World";
// 大文字・小文字を無視して判定
bool result = str.StartsWith("hello", StringComparison.OrdinalIgnoreCase);
Console.WriteLine(result); // True

まとめ

  • StartsWith()は、文字列の先頭が指定した文字列と一致するかを判定するメソッドです。
  • 戻り値はbool型(true / false)です。
  • 大文字・小文字を無視したい場合は、StringComparison.OrdinalIgnoreCaseなどを利用できます。
  1. C#のSingleOrDefault()メソッドの使い方をわかりやすく解説

    SingleOrDefault()メソッドとはC#のLINQに含まれるSingleOrDefault()メソッドは、シーケンスから単一の特定要素を返すメソッドです。大きな特徴は、要素がシーケンス内に存在しない場合でも例外をスローせず、その型のデフォルト値を返すという点にあります。たとえば参照型の場合は null、数値型の場合は 0 といったデフォルト値が返されるため、空のコレクションを安全に扱いたい場面で非常に便利です。Single()メソッドとの違い似た名前の Single() メソッドは、要素が存在しない場合や複数の要素が見つかった場合に例外(InvalidOperationExcepti

  2. 【C#】String.Join()メソッドで文字列配列を連結する方法

    String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、