人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
はじめに
C#のプログラミングにおいて、文字列の操作は非常に頻繁に行われるタスクです。その中で、特定の文字や部分文字列が最後に現れる位置を探すのが、LastIndexOfメソッドです。
この記事では、このLastIndexOfメソッドの使い方を初心者でも分かるように、解説します。

LastIndexOfメソッドの基本
C#のstring型にはLastIndexOfというメソッドがあります。このメソッドは、指定した文字または部分文字列が最後に出現するインデックスを返します。
しかし、注意すべき点が2つあります。1つ目は、文字列は0から始まること、2つ目は、探す文字や部分文字列が存在しない場合、-1を返すことです。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
using System; public class Program { public static void Main() { string s = "Hello, World! Hello, C#!"; int idx = s.LastIndexOf("Hello"); Console.WriteLine(idx); } } |
出力結果
14

LastIndexOfメソッドのオーバーロード
LastIndexOfメソッドにはいくつかのオーバーロードがあります。オーバーロードとは、同じ名前のメソッドを異なる引数で定義することを指します。LastIndexOfメソッドでは、探す文字列だけでなく、検索開始位置や検索する文字列の長さを指定することも可能です。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
using System; public class Program { public static void Main() { string s = "Hello, World! Hello, C#!"; int idx = s.LastIndexOf("Hello", 10); Console.WriteLine(idx); } } |
出力結果
0

大文字と小文字を区別しない検索
デフォルトでは、LastIndexOfメソッドは大文字と小文字を区別して検索を行います。しかし、大文字と小文字を区別せずに検索したい場合もあるでしょう。その場合は、StringComparisonオプションを使って、大文字と小文字を区別しない検索を行うことが可能です。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
using System; public class Program { public static void Main() { string s = "Hello, World! hello, C#!"; int idx = s.LastIndexOf("HELLO", StringComparison.OrdinalIgnoreCase); Console.WriteLine(idx); } } |
出力結果
0

文字列が見つからない場合の挙動
LastIndexOfメソッドを使用していると、指定した文字や部分文字列が見つからない場合もあります。
このような場合、LastIndexOfメソッドはどうなるでしょうか?
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
using System; public class Program { public static void Main() { string s = "Hello, World!"; int idx = s.LastIndexOf("C#"); Console.WriteLine(idx); } } |
出力結果
-1

まとめ
C#のLastIndexOfメソッドは、文字列内で指定した文字や部分文字列が最後に出現する位置を見つけるための便利なツールです。基本的な使用方法からオーバーロード、大文字小文字を区別しない検索など、幅広い機能を提供しています。
ただし、文字列のインデックスは0から始まり、探す文字や部分文字列が存在しない場合は-1を返すという2つの注意点を忘れないでください。

人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け