我对此代码有疑问。我是初学者,喜欢学习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);
}
答案 0 :(得分: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));
这里,coincidenceNumbers是一个Random对象,因此它将生成随机数。它的“Next”函数将生成一个整数。它接收2个参数:最小值和最大值。所以,这里它将生成1到50之间的随机数。
与byte相比,Integer非常大,所以有一个“cast”...整数将转换为byte。 如果整数小于255,没问题,在其他情况下你将失去精度
如果您尝试这样做
int x = 500;
byte y = (byte) x;
Console.WriteLine(y); // 244, precision lost
答案 1 :(得分:1)
您需要阅读阵列上的一些基础教育资料,例如尝试MSDN Arrays Tutorial。
答案 2 :(得分:0)
byte是一个存储值0..255
的整数类型const表示变量“numbers”的值永远不会改变(因此它是常量)。
答案 3 :(得分:0)
你真的应该阅读一些关于编程的初学者教程(一般来说)。这与实际的Array类没什么关系。
编辑:Aaaand在那里你改变了你的问题......答案 4 :(得分:0)
我猜测1 *,2 *,3 *,4 *和5 *是在您正在查看的示例中指出某些内容的符号。
const 是一个修饰符,它将变量标记为常量(即它永远不会改变)
byte 是一种存储1字节(8位)数据的数据类型。
编辑好吧,现在我感到愚蠢......当我最初阅读它时,问题的格式并不完全相同。随意忽略我的回答......
答案 5 :(得分:0)