вопрос о массивах - PullRequest
       11

вопрос о массивах

1 голос
/ 07 апреля 2009

У меня есть вопрос относительно этого кода. Я новичок и с удовольствием изучаю 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);
}

Ответы [ 6 ]

2 голосов
/ 07 апреля 2009

const является словом резервирования, означающим, что «переменная» не будет меняться, вместо этого ее значение не изменится, если вы попытаетесь изменить

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

байт - это тип для хранения небольших чисел

Тогда

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));

Здесь совпадениеNumbers - это объект Random, поэтому он будет генерировать случайные числа. Его функция «Next» будет генерировать целое число. Он получает 2 параметра: минимальное значение и максимальное значение. Таким образом, здесь будет генерироваться случайное число от 1 до 50.

Целочисленное значение очень велико по сравнению с байтом, поэтому происходит "приведение" ... целое число будет преобразовано в байт. Если целое число меньше 255, нет проблем, в противном случае вы потеряете точность

Если вы попытаетесь сделать это

int x = 500;
byte y = (byte) x;
Console.WriteLine(y); // 244, precision lost
1 голос
/ 07 апреля 2009

Вам необходимо прочитать некоторые базовые учебные материалы по массивам, например, попробуйте Учебное пособие по массивам MSDN .

0 голосов
/ 07 апреля 2009

С MSDN :

Const:

Ключевое слово const используется для изменения объявления поля или локальной переменной. Он указывает, что значение поля или локальной переменной является постоянным, что означает, что его нельзя изменить.

Так, например:

const byte numbers = 5;

Вы объявляете константу переменную типа 'byte' с именем числа со значением 5.

Позже вы не сможете изменить номера переменных, например:

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

Надеюсь, это прояснит вашу первую часть вопроса.

Я предлагаю перейти на MSDN и найти условия для других частей вашего вопроса. Попробуйте привыкнуть использовать этот ресурс для дальнейшего использования.

0 голосов
/ 07 апреля 2009

Я предполагаю, что 1 *, 2 *, 3 *, 4 * и 5 * являются обозначениями, указывающими на вас в примере, который вы просматриваете.

const - это модификатор, который помечает переменную как постоянную (то есть она никогда не изменится)

byte - это тип данных, который будет хранить 1 байт (8 бит) данных.

Редактировать Что ж, теперь я чувствую себя глупо ... вопрос не был отформатирован совсем, когда я впервые прочитал его. Не стесняйтесь игнорировать мой ответ ...

0 голосов
/ 07 апреля 2009
  1. Создает постоянную переменную, которая содержит байт, со значением 5.
  2. Создает текстовую строку и вызывает переменную yourPassword.
  3. Перебирает каждый байт в myNumbers.
  4. Сортирует myNumbers.
  5. Повторно просматривает каждый байт в myNumbers (на этот раз он отсортирован), вызывая каждый байт "elem".

Вы действительно должны прочитать руководство для начинающих по программированию (в целом). Это очень мало связано с классом Array.

РЕДАКТИРОВАТЬ: А-а-а, вы изменили свой вопрос ...

0 голосов
/ 07 апреля 2009

байт - это целочисленный тип, в котором хранятся значения 0..255

const означает, что значение переменной «числа» никогда не изменится (поэтому оно является постоянным).

...