1

このコードについて質問があります。私は初心者で、C# の学習を楽しんでいます。しかし、私は現在 Array と呼ばれるトピックに取り組んでいますが、これは非常に難しく、あなたの助けが必要です. コードを理解したい。ここで理解できないのは、ここのパート 1、2、3、4、および 5 が何を意味するのかということです。
ここで「const」と「byte」の機能がわかりませんか?ご説明いただければ幸いです。ありがとうございます。それでは、お元気で;-)

1)

const byte numbers = 5;
byte[] myNumbers = new byte[numbers];
byte additionalNumbers;
Random coincidenceNumbers = new Random();

2)

string yourPassword;
Console.WriteLine("Please enter your password:");
yourPassword = Console.ReadLine();

if (yourPassword != "helloWorld")
{ 
    Console.WriteLine("\nWrong password\n");
    return;
}
else 
{
    Console.WriteLine();
    Console.WriteLine("Welcome to my world!");

    for (int i=0; i < myNumbers.Length; ++i)
    { 
        myNumbers[i]=(byte)(coincidenceNumbers.Next(1,50));
    }
}

3)

additionalNumbers=(byte) (coincidenceNumbers.Next(1,50));

4)

Array.Sort(myNumbers);
Console.WriteLine("\nThe Number is:\n");

5)

foreach (byte elem in myNumbers)
{
    Console.WriteLine("\t" + elem);
    Console.WriteLine();
    Console.WriteLine("Additional Number is: " + additionalNumbers);
}
4

6 に答える 6

2

const は、「変数」が変化しないことを意味する予約語です。代わりに、変更しようとしても、その値は変更されません。

const byte numbers = 5;
numbers = 6; // will fail

byte は小さな数値を格納するための型です

それで、

byte[] myNumbers = new byte[numbers];

数値 (5) 位置の配列を作成します。たとえば、次のように、配列内の任意の位置に値を割り当てることができます。

myNumbers[0] = 4;  // position 1
myNumbers[1] = 45;  // position 2
myNumbers[2] = 25;  // position 3
myNumbers[3] = 0;  // position 4
myNumbers[4] = 12;  // position 5
myNumbers[5] = 3;  // will fail, array just have 5 positions

[編集]

additionalNumbers=(byte) (coincidenceNumbers.Next(1,50));

ここで、accienceNumbers は Random オブジェクトなので、乱数を生成します。その「次へ」関数は整数を生成します。最小値と最大値の 2 つのパラメーターを受け取ります。ここでは、1 から 50 までの乱数を生成します。

整数はバイトに比べて非常に大きいため、「キャスト」があります...整数はバイトに変換されます。整数が 255 未満の場合は問題ありませんが、それ以外の場合は精度が失われます

これをやろうとすると

int x = 500;
byte y = (byte) x;
Console.WriteLine(y); // 244, precision lost
于 2009-04-06T20:09:32.687 に答える
1

配列に関する基本的な教育資料を読む必要があります。たとえば、 MSDN Arrays Tutorialを試してください。

于 2009-04-06T20:07:59.180 に答える
0

byte は、値 0..255 を格納する整数型です

const は、変数「数値」の値が決して変わらないことを意味します (つまり、定数です)。

于 2009-04-06T20:08:17.243 に答える
0
  1. 値が 5 のバイトを保持する定数変数を作成します。
  2. テキスト文字列の場所を作り、変数 yourPassword を呼び出します。
  3. myNumbers の各バイトをループします。
  4. myNumbers を並べ替えます。
  5. myNumbers の各バイトを再度ループし (今回はソートされます)、各バイトを「elem」と呼びます。

プログラミングに関する初心者向けチュートリアルを読む必要があります (一般的に)。これは、実際の Array クラスとはほとんど関係ありません。

編集:ああ、あなたは質問を変更しました...

于 2009-04-06T20:09:46.647 に答える
0

1*、2*、3*、4*、および 5* は、あなたが見ている例で何かを指摘する表記法だと思います。

constは、変数を定数としてマークする修飾子です (つまり、変更されることはありません)。

byteは、1 バイト (8 ビット) のデータを格納するデータ型です。

編集まあ、今はばかげていると感じています...最初に読んだとき、質問の形式はまったく同じではありませんでした。私の回答は無視して構いません...

于 2009-04-06T20:10:41.467 に答える
0

MSDNから:

定数:

const キーワードは、フィールドまたはローカル変数の宣言を変更するために使用されます。フィールドまたはローカル変数の値が定数であることを指定します。これは、変更できないことを意味します。

たとえば、次のようになります。

const byte numbers = 5;

値が 5 の数値という名前の「バイト」型の定数変数を宣言しています。

後で、次のような変数番号を変更することはできません。

numbers = 6; // this is not allowed because it was declared as const

これで質問の最初の部分が明確になることを願っています。

MSDNにアクセスして、質問の他の部分の用語を検索することをお勧めします。今後の参考のために、このリソースを使用する習慣を身につけてみてください。

于 2009-04-06T20:11:13.400 に答える