2016-04-09 4 views
-1

は、のは、私がテストと呼ばれる文字列があるとしましょう文字列内の最後の文字を見つけてインデックスを取得するにはどうすればよいですか?

string test = "hello my dear world" 

と私は(19)と最後の文字のインデックスを取得します。

インデックスを取得してint/stringに挿入するにはどうすればよいですか?

+5

'int型のインデックス= test.Length;' ' –

+2

のために返されるべきである何を "私の愛する世界こんにちは!!!"'や '「こんにちは私の愛する世界123 「? – dasblinkenlight

+1

@ S.Akbari:インデックスはゼロベースなので、そこに ' - 1'も置いてください。 –

答えて

2

exteremelyです。

string test = "Hello World"; 
char theLastCharacterOfTest = test[test.Length - 1]; // 'd' 
int theIndexOfTheLastCharacter = test.Length - 1; // 10 

説明はありますか?ここにあります!

最後の文字のインデックスを取得することから始めましょう。 C#は0ベースのインデックスシステムを使用するため、最後のインデックスは文字列の長さ-1です。

最後の文字は最後のインデックスの文字だけです。そして、stringのインデクサーは、渡されたインデックスの文字を返します。これら2つを組み合わせると、test[test.Length - 1]が得られます。

私はあなたがインデクサとそれほど慣れていないと思うので、ここのリンクです:あなたの質問を投稿する前に、検索してください

https://msdn.microsoft.com/en-us/library/6x16t2tx.aspx

+0

最後の行には "-1"が含まれている必要があります –

2

私はあなたが最後の文字のインデックスまたは位置を探しているかどうかわからないんだけど(あなたはインデックスが19であるが、それは位置だ...指数は18です)。両方とも:

string test = "hello my dear world"; 

// The length of the text gives the position of the last char 
int position = test.Length; 

// C# has a 0-based index. You need the string length -1 to get the last char's position 
int index = test.Length - 1; 

ここにはa working exampleです。

+0

@HenkHolterman、どういう意味ですか?あなたは0ベースのインデックスはC#で一般的ではない、または一般的なプログラミングではないと言っていますか? –

+0

いいえ、そうではありません。 C#でさえも。 –

+0

C#で0ベースのインデックスを使用しない例を教えてください。私はあなたが話していることを理解したいと思います: –

0
int index = test.Length; 
char LastLetter = test[index - 1]; 

+0

test [index-1] whats this mean –

+0

testは文字列の例です。 string内の特定のcharにアクセスできます。だから、C#インデックスは0から始まるので、[index-1]を使用する必要があります –

0
string test = "hello my dear world"; 

int index = test.FindIndex(x => x.StartsWith("d")); 

OR

int index = test.Length - 1; 
+0

なぜ-1を入れましたか? –

+0

そのサブストリングルールの開始文字find 0と最後の文字satart find in -1。 –

関連する問題