首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在声明数组大小时使用int变量

在声明数组大小时使用int变量
EN

Stack Overflow用户
提问于 2017-01-16 18:49:46
回答 1查看 112关注 0票数 0

我对c#非常陌生,仍然不了解有关数组的一些基本知识。当我初始化我的程序时,我要求用户以整数形式输入,然后使用它来声明数组的大小。执行情况:

代码语言:javascript
复制
int sortSpaceSize = Console.Read ();
bool[] sortSpace = new bool[sortSpaceSize];

但是,当我测试程序时,数组大小是just...wierd。当我键入45作为输入时,它输出的数组大小为52。它有964684,输出57。我不知道是怎么回事。如果在声明数组时不允许使用变量作为大小,那么为什么不抛出一个错误?我应该用列表代替吗?提前谢谢你。

EN

Stack Overflow用户

回答已采纳

发布于 2017-01-16 18:51:09

那是因为你只读了一个字符。试着阅读一个完整的数字:

代码语言:javascript
复制
string input = Console.ReadLine();
int sortSpaceSize;
if (!Int32.TryParse(input, out sortSpaceSize))
{
    throw new Exception("not a number");
}
bool[] sortSpace = new bool[sortSpaceSize];

正如Chris所指出的,您为什么会得到这些奇怪的数字:您正在转换第一个数字的ascii code,并将其用作数组大小。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41683150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档