2017-08-18 16 views
-3

角括弧は、配列ではなく文字列の後にあるとき、何を意味しますか? (例えばSTR [5]次の例では)角括弧は、配列ではなく文字列の後にあるとき、何を意味しますか?

string str; 
Console.Write("Input a string : "); 
str = Console.ReadLine(); 

Console.WriteLine(
    (str.Length < 6 && str.Equals("Hello")) 
    || (str.StartsWith("Hello") && str[5] == ' ') 
); 
+2

文字列は配列です。文字のうち。 – David

+0

申し訳ありません私は新しいです、そしてそれを編集しました。もう一度見ていただけますか? – Ingino

+0

@Ingino - Davidがあなたに答えを与えました。文字列は文字の配列(つまりchar [])として認識されるので、それをインデックスすることができます: 'char sixChar = str [5];' – AjahnCharles

答えて

1

列の要素(それは基地ゼロである)は、配列として文字列を扱うので、str[5]は6です。

編集:もう少し詳しく:

Console.WriteLine((str.Length < 6 && str.Equals("Hello")) || (str.StartsWith("Hello") && str[5] == ' ')); 

これは、ビット冗長である:

(str.Length < 6 && str.Equals("Hello") 

、入力文字列が両方未満6つの文字であることが確認され、そしてそれは「Hello」とまったく同じです(大文字と小文字を区別します)。

(str.StartsWith("Hello") && str[5] == ' ') 

文字列「こんにちは」で始まるかどうかを確認します(かなり自己説明)が、その後、次のビットである:これはアレイビットである

str.Equals("Hello") 

に単純化することができ次の文字がスペース( '')かどうかをチェックします。入力文字列がそうでなければ「こんにちは」や「こんにちは」、およびFALSEある場合

全体的に、それはTRUEを印刷します。

1

他と同じ意味です。文字列は、配列が(または少なくともインデクサーがある)... charである。その時点y

var y = x[1]; 

は今文字'e'です:そして、あなたは、インデックス、それはchar取得することができます

var x = "Hello, Cruel World." 

:たとえば

は、あなたが文字列を持っていると言います。

関連する問題