0

まず、私が C# を初めて使用するという事実を明確にする必要があります。私は実用的なアプローチを信じているので、読んだものと実際の例を混ぜ合わせました。また、コードを読んで、それを本当に理解しようとすることも楽しんでいます。しかし、この1つのことが私を困惑させます。

書籍やインターネットを調べましたが、何を検索すればよいかわかりません。

とにかくここにコードがあります。

for (int t = 0; t < res.Length / 2; t++)
{
    if (res[t] != res[res.Length -t -1]) Initial = false;
}

resコードの前半で配列として宣言されていませんがres[t]、if ステートメントで作成されています。他の場所で「インデックス作成」について読んだことがありますが、それ以上のことはできませんでした。説明が私の心を粉々に吹き飛ばさないことを願っています。

前もって感謝します。

4

4 に答える 4

2

C# の文字列は、実際には文字の配列です。[]これが、インデックス値を使用して文字列内の単一の文字を見つけることができる理由です。

于 2013-09-12T13:15:22.600 に答える
2

ifに設定Initialされたこのコードは回文ではありません。例えば:falseret

var res = new int[] {1,2,3,4,5, 6}; // not palindrome
var res1 = new int[] {1,2,3,3,2, 1}; // palindrome
var resString = "notpalindrome";
var resString1 = "asdfgfdsa"; // palindrome
于 2013-09-12T13:19:42.263 に答える
0

C# では、クラスを作成するときに、それらを "インデックス可能" にすることができます。これは、配列の場合と同様に、インデックスを使用して基になるデータにアクセスできることを意味します。

DuckCollection内部にDuck[] duckArray配列を格納するクラスがあるとします。ここで、クラスのユーザーが の代わりにDuckCollection実行できるようにします。var duck = duckCollection[0]var duck = duckCollection.duckArray[0]

次のようにします。

public class DuckCollection
{
    Duck[] duckArray;

    public Duck this[int index]    // Indexer declaration
    {
        return duckArray[index];
    }


}

C# の多くのクラスは、文字列やリストなどのように、この種の動作を実装しています。そのため、文字列 (つまりchars) の個々の要素に、配列であるかのようにアクセスできます。

インデクサーの詳細: http://msdn.microsoft.com/en-us/library/2549tw02.aspx

于 2013-09-12T13:15:34.310 に答える