字段初始化无法引用非静态字段,原因
原文链接:https://blog.csdn.net/lishimin1012/article/details/82801094
1》C#语法规则:在 C# 中不允许使用未初始化的变量。
2》属性内存和变量内存的分配的时间不一样。 属性是用的时候分配,而变量是在类初始化时候分配。
3》在实例一个类时,因为静态字段赋值动作已经在静态构造函数中完成,实例化的字段会在非静态构造函数中实例化,而两者的时间前后是静态构造函数执行早于非静态构造函数,也洽洽是这个原因会造成两个问题:
1,当你用非静态字段给静态字段赋值时,字段一直为空错误
2,当你在类中给非静态赋值时:字段初始化无法引用非静态字段
三,解决方法:
1》因为初始化的时候顺序问题造成的问题,我们可以将对应代码放到当前需要赋值的类的构造函数中执行。
2》使用属性的get来赋值,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-11-28 列出前缀为某一字符串的记录
2022-11-28 Windows server 2012如何启用远程桌面
2022-11-28 vs2012 发布网站Release发布模式 any cpu 与.net与mixed platforms 有什么区别?
2022-11-28 SQL Server 2008 R2安装教程
2022-11-28 TCP/UDP的连接与关闭详解
2022-11-28 电脑怎么查看端口是否开放
2022-11-28 windows关闭端口方法