【发布时间】:2016-04-06 20:58:01
【问题描述】:
我无法理解代码。 我正在学习 Unity 编码,我对 C# 知之甚少,但有件事引起了我的注意——当然,我们首先声明变量 int(不设置任何值),然后在 if 语句中使用它。
我读到here 不允许在 C# 中使用未初始化的变量。 我自己在另一个项目中检查了它。我在想这是因为结构(不是类),但我不知道为什么它会对变量产生影响......
因为有很多不必要的代码,我会把它放在外面(pastebin)server - 带有这个变量的代码被设置为 cmets(为了更好的可见性)。
这里我只放这些片段(给那些不想浪费时间经历整个混乱的人)。
private int questionsFinished;[...] if(questionsFinished < questionNumbersChoosen.Length - 1) { moveToNextQuestion(); questionsFinished++; }public void moveToNextQuestion() { assignQuestion(questionNumbersChoosen[questionNumbersChoosen.Length - 1 - questionsFinished]); }
我只是不明白它为什么起作用 - 变量没有价值,是吗? 提前谢谢你们。
【问题讨论】:
-
int 类型的成员变量如果没有显式初始化为另一个值,则会自动初始化为 0
-
我的问题有什么问题所以被否决了?
标签: c#