这种问题,其实说明对自己太随便。
db是字段,在定义它的阶段,只能做初始化操作,并不能马上使用它,它并不是静态字段(你可以把它定义为静态static试下)。 编译器在初始化时,该字段本身还没被分配到托管堆之前,你就用它,则会报警,所以编译器不允许这种情况 所以这种操作,你要放在函数体或属性体内或者构造函数里,因为在调用这些地方的时候,对象已实例化完成,各字段都已成功分配到内存里面 其实楼主,你可以这样想想,一个类,你从类的{ 开始,如果没有到后面类的结束 },也就是说,这个类本身,都还没有完全分配好内存,那么它里面包含的内部成员,又怎么能马上调用呢?你不会是想这样搞:我这个类先生成前一半身在内存里,然后马上先生成几个内部成员,接着,先用这前一半身去调用自己的内部这几个成员做操作了(注意,我指的是这个类自己的【内部成员】,一定要理解什么是内部成员),完成操作之后,我们再把这个类的后半身生成出来,这种编译器是不允许的哦
62,046
社区成员
669,049
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧