为什么这不起作用? 它是在视觉研究2015年,Windows窗体应用程序C#
namespace guessing
{
public partial class Form1 : Form
{
Random rnd = new Random();
int rndm = rnd.Next(1, 13);
rnd下有一个错误,上面写着:
"字段初始值设定项不能引用非静态字段,方法或 property' Form1.rnd' "
答案 0 :(得分:6)
在C#中,语句不能立即在类声明下发生。它们需要成为函数或方法的一部分。
namespace guessing
{
public partial class Form1 : Form
{
void MethodX()
{
Random rnd = new Random();
int rndm = rnd.Next(1, 13);
/* to be continued... */
}
}
}
答案 1 :(得分:0)
是的,正如SonerGönül所说,你必须将此代码添加到表单中的方法中。因为您可能使用Designer创建了Form,只需转到Events并创建方法created
(或类似的)。然后将代码放入创建方法的主体中。
答案 2 :(得分:-1)
试试这个:
Name = input('Enter name:\n') # input is a function
Class = input('Enter class:\n') # hence parentheses
Time = input('Enter time:\n') # and an (here: optional) argument, the prompt
l = [Name, Class, Time] # now works: l.append(sth)
修改强>
回应TomTom:
有很多方法可以解决这个问题。如果您需要始终保持namespace guessing
{
public partial class Form1 : Form
{
int rndm = new Random().Next(1, 13);
的实例可用,请在课程级别定义它,就像您已有的那样。
Random