Voi*_*oix 1 c# arrays loops for-loop
我要求用户输入5个数字并将其存储到一个数组中,这样我就可以在一个方法中发送值并从每个数组中减去5个数字.当我使用:
for(I=0;I<5;I++) {
int[] val = Console.ReadLine();}
Run Code Online (Sandbox Code Playgroud)
它说我无法将int []转换为int.我的编程中有点生疏.我也不知道如何将数组值从main发送到方法.
您将从控制台输入的字符串分配给int数组.这有两个原因:
int
arrays(int[]
)是一个集合ints
.int
,需要先解析.这是一个轻微的转移,但我也不认为你应该使用数组.数组中的数组通常具有比内置功能少得多的功能List<T>
.(所有的摇滚歌曲都在这里响起)有人说完全没有理由使用数组 - 我不会那么远,但我认为对于这个用例,只需添加项目就可以轻松List
实现分配5个空格并按索引初始化值.
无论哪种方式,你应该使用int.TryParse()
,而不是int.Parse()
,如果你不检查用户输入是否可解析,你应该立即得到一个例外int
.因此,从用户接收字符串的示例代码如下所示:
List<int> userInts = new List<int>();
for (int i = 0; i < 5; i++)
{
string userValue = Console.ReadLine();
int userInt;
if (int.TryParse(userValue, out userInt))
{
userInts.Add(userInt);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您仍然想使用该阵列,或者如果您需要,只需将List<int> userInts
... 替换为int[] userInts = new int[5];
,并替换userInts.Add(userInt)
为userInts[i] = userInt;
.