zoukankan      html  css  js  c++  java
  • C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性

    问题:字段初始值设定项无法引用非静态字段、方法或属性的问题

    下面代码出错的原因,在类中定义的字段为什么不能用?
    public class Test
    {
    public Test()
    {
    }
    public int Age=23;
    public int temp = Age;//ERROR 字段初始值设定项无法引用非静态字段、方法或属性
    }

    C#规定在类内部只能定义属性或者变量,并初始化,不能直接变量引用变量。

    在初始化类实例之前就调用了字段

    c# 中字段的初始化先于构造函数。

    string y = "asdf" + x; 实际上是 y = "asdf" + this.x;

    因为这时this还没被初始化,所以编译会报错。

    属性内存和变量内存的分配的时间不一样。
    属性是用的时候分配,变量是在类初始化时候分配。

  • 相关阅读:
    各种小知识
    基础技能
    st表
    有理数取余
    FFT加速高精度乘法
    unique
    离散化
    线段树复杂度分析
    楼房重建
    电脑装系统常用方法
  • 原文地址:https://www.cnblogs.com/bluestorm/p/3432190.html
Copyright © 2011-2022 走看看