Visual Studio中的静态成员

目录

一、核心概念

二、核心特点

三、常见类型

[1.静态字段 / 属性](#1.静态字段 / 属性)

2.静态方法

3.静态构造函数

四、静态成员与实例成员对比

五、使用注意事项


一、核心概念

静态成员是属于类本身 而非类实例的成员,所有类的实例共享同一静态成员,常用于是实现类级别的共享数据或工具方法。

二、核心特点

1.不依赖实例:无需创建类的对象及可直接访问。

2.内存唯一:程序运行期间,静态成员在内存中仅存在一份副本。

3.访问方式:通过 类名.静态成员名 访问(而非实例名)。

三、常见类型

1.静态字段 / 属性

存储类级别的共享数据。

示例:

public static int UserCount = 0;

2.静态方法

提供不依赖实例的通用功能(如工具类方法 Math.Max() )。

示例:

public static int Add(int a, int b) => a + b;

3.静态构造函数

用于初始化静态成员,自动执行且仅执行一次(在第一次访问类时触发)。

示例:

static MyClass()

{

// 初始化静态字段

Config = LoadConfig();

}

四、静态成员与实例成员对比

|----------|--------------------|---------------|
| 对比维度 | 静态成员 | 实例成员 |
| 所属对象 | 类本身 | 类的实例 |
| 访问方式 | 类名.成员名 | 实例名.成员名 |
| 访问权限 | 可被静态方法和非静态方法访问 | 不可被静态方法访问 |
| 内存分配时机 | 程序启动时 | 实例创建时 |
| 内存副本数量 | 唯一(所有实例共享) | 每一个实例一份 |
| 生命周期 | 程序运行期间 | 实例被销毁时释放 |

五、使用注意事项

1.静态成员无法访问实例成员:静态成员初始化时,实例可能尚未创建。

2.静态构造函数无参数:不能手动触发或重载。

3.线程安全风险

4.避免滥用静态

相关推荐
xian_wwq1 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
c#上位机1 小时前
tuple_max求数组中的最大值
c#·halcon·机器视觉
VIP_CQCRE2 小时前
在 Visual Studio 里接入 Ace Data Cloud:让 IDE 拥有 OpenAI 兼容 AI 能力
openai·ai编程·开发工具·visual studio·ace data cloud
沪上企服通3 小时前
代账数据的可移植性设计:开放接口、账套导出与 exit strategy 工程笔记(上海 5 家样本对照)
笔记·策略模式
江湖人称菠萝包4 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter8-子窗口控件
windows·笔记
M78佐菲4 小时前
HTML学习笔记
linux·笔记·学习·tcp/ip·html
我还可以再学点5 小时前
QUIC学习笔记
笔记·学习
点心的游戏开发世界6 小时前
GDScript 入门笔记:目录
开发语言·笔记·游戏引擎·godot
xintaiideas6 小时前
.NET 项目的多方式启动指南 [特殊字符]
c#
山岚的运维笔记6 小时前
mysql 专业笔记 -- 第 17 章:连接:连接三个具有相同名称 ID 的表
运维·数据库·笔记·后端·学习·mysql·dba