C# 为什么不能直接将此值赋给变量?

C# 为什么不能直接将此值赋给变量?,c#,C#,下面是一个简单的代码,我声明了一个变量startingmiliety,并在方法中为它赋值 但是,我得到以下错误: 字段初始值设定项不能引用非静态字段、方法或属性 我的问题是:为什么我不能直接给它赋值 如错误消息所述,numericUpDown1.Value是Form类的非静态字段(numericUpDown1)的属性,它在执行赋值时没有值,但0.39是一个常量,可以随时赋值给字段 此外,如果编译器允许您编译该代码,您将得到一个运行时异常,因为UI控件(例如numbericUpDown1)在表单构

下面是一个简单的代码,我声明了一个变量
startingmiliety
,并在方法中为它赋值

但是,我得到以下错误:

字段初始值设定项不能引用非静态字段、方法或属性


我的问题是:为什么我不能直接给它赋值

如错误消息所述,numericUpDown1.Value是Form类的非静态字段(numericUpDown1)的属性,它在执行赋值时没有值,但0.39是一个常量,可以随时赋值给字段

此外,如果编译器允许您编译该代码,您将得到一个运行时异常,因为UI控件(例如numbericUpDown1)在表单构造函数(InitializeComponent方法)中实例化,表单构造函数在表单类的字段初始化后执行

如果合并设计器代码,它将如下所示:

public partial class Form1 : Form {
    NumbericUpDown numericUpDown1;
    int startingMileage = (int)numericUpDown1.Value;
    double reimburseRate = 0.39;
    ..
    ..

正如错误消息所说,numericUpDown1.Value是Form类的非静态字段(numericUpDown1)的属性,它在执行赋值时没有值,但0.39是一个常量,可以随时赋值给该字段

此外,如果编译器允许您编译该代码,您将得到一个运行时异常,因为UI控件(例如numbericUpDown1)在表单构造函数(InitializeComponent方法)中实例化,表单构造函数在表单类的字段初始化后执行

如果合并设计器代码,它将如下所示:

public partial class Form1 : Form {
    NumbericUpDown numericUpDown1;
    int startingMileage = (int)numericUpDown1.Value;
    double reimburseRate = 0.39;
    ..
    ..

正如错误消息所说,numericUpDown1.Value是Form类的非静态字段(numericUpDown1)的属性,它在执行赋值时没有值,但0.39是一个常量,可以随时赋值给该字段

此外,如果编译器允许您编译该代码,您将得到一个运行时异常,因为UI控件(例如numbericUpDown1)在表单构造函数(InitializeComponent方法)中实例化,表单构造函数在表单类的字段初始化后执行

如果合并设计器代码,它将如下所示:

public partial class Form1 : Form {
    NumbericUpDown numericUpDown1;
    int startingMileage = (int)numericUpDown1.Value;
    double reimburseRate = 0.39;
    ..
    ..

正如错误消息所说,numericUpDown1.Value是Form类的非静态字段(numericUpDown1)的属性,它在执行赋值时没有值,但0.39是一个常量,可以随时赋值给该字段

此外,如果编译器允许您编译该代码,您将得到一个运行时异常,因为UI控件(例如numbericUpDown1)在表单构造函数(InitializeComponent方法)中实例化,表单构造函数在表单类的字段初始化后执行

如果合并设计器代码,它将如下所示:

public partial class Form1 : Form {
    NumbericUpDown numericUpDown1;
    int startingMileage = (int)numericUpDown1.Value;
    double reimburseRate = 0.39;
    ..
    ..


因为在
中,它是一个
字段
,而不是局部变量。读:错误是怎么说的?@chrisit说:字段初始值设定项不能引用非静态字段、方法或参数property@SonerGönül你是说numericUpDown1.值是一个字段?为什么不能将其分配给方法之外的变量?因为在
类中,它是
字段
,而不是局部变量。读:错误是怎么说的?@chrisit说:字段初始值设定项不能引用非静态字段、方法或参数property@SonerGönül你是说numericUpDown1.值是一个字段?为什么不能将其分配给方法之外的变量?因为在
类中,它是
字段
,而不是局部变量。读:错误是怎么说的?@chrisit说:字段初始值设定项不能引用非静态字段、方法或参数property@SonerGönül你是说numericUpDown1.值是一个字段?为什么不能将其分配给方法之外的变量?因为在
类中,它是
字段
,而不是局部变量。读:错误是怎么说的?@chrisit说:字段初始值设定项不能引用非静态字段、方法或参数property@SonerGönül你是说numericUpDown1.值是一个字段?为什么不能将其分配给方法之外的变量?另外,您希望在单击按钮时记录该值,而不是在创建窗口(窗体)时。另外,您希望在单击按钮时记录该值,而不是在创建窗口(窗体)时记录该值。另外,您希望在单击按钮时记录该值,而不是在创建窗口时记录该值(窗体)已创建。另外,您希望在单击按钮时记录该值,而不是在创建窗口(窗体)时记录该值。