当前位置: 首页 > wzjs >正文

wordpress网站维护教程网络服务禁用后如何启动

wordpress网站维护教程,网络服务禁用后如何启动,wordpress个人网站模板,05网语文目录 一、什么是静态的?什么是常量? 1. ​静态(Static)​ 2. ​常量(const)​ 二、类中的静态成员有什么用? 1. ​共享数据 2. ​工具方法与全局配置 3. ​单例模式 三、静态类和静态成…

目录

一、什么是静态的?什么是常量?

1. ​静态(Static)​

2. ​常量(const)​

二、类中的静态成员有什么用?

1. ​共享数据

2. ​工具方法与全局配置

3. ​单例模式

三、静态类和静态成员方法的介绍

1. ​静态类(Static Class)​

2. ​静态构造函数(Static Constructor)​

3. ​静态方法的限制

四、对比总结

1. ​静态成员 vs 常量(const)​

2. ​静态类 vs 普通类

3. ​使用场景

注意事项

前言:代码中的“共享经济”与“不变法则”​

        有没有想过,如何让一个类的所有实例共享同一份数据?或者怎样创建一种无需实例化就能调用的“工具包”方法?

        在C#的世界里,​静态成员就像魔法般的全局变量,而常量则是刻在代码石碑上的永恒法则。它们一个灵活善变(但需谨慎),一个坚守初心(绝不妥协)。

        本文将揭秘静态类的“禁欲系”设计、静态构造函数的幕后初始化大法,并带你理清静态成员与常量的爱恨纠葛——从此告别重复代码,让你的程序优雅如诗!

一、什么是静态的?什么是常量?

1. ​静态(Static)​

        静态是C#中用于描述类级别成员的关键字。静态成员(如静态字段、方法、属性)属于类本身而非类的实例,所有实例共享同一份静态成员。

  • 内存分配:静态成员在程序启动时分配内存,生命周期与应用程序一致。
  • 访问方式:直接通过类名访问,无需实例化对象。

记住!!!
程序是不能无中生有的
我们要使用的对象 变量 函数 都是要在内存中分配空间的
之所以要实例化对象 目的就是要分配内存空间,在程序中 产生一个抽象的对象

静态成员的特点
程序开始运行时 就会分配内存空间 所以我们可以直接使用
静态成员和程序同生共死
只要使用了他 直到程序结束时 内存空间才会被释放
所以每个静态成员都有属于自己的唯一一个小房间
这让静态成员便有了唯一性
在任何地方使用 都是使用小房间里面的内容 修改的也是房间里面的内容

2. ​常量(const)​

        常量是通过const关键字定义的不可修改的编译时常量

  • 内存分配:值在编译时确定并嵌入到IL代码中。
  • 不可变性:必须在声明时赋值,且只能为基本类型(如intstring)或null
// 静态字段 vs 常量
public class Config {public static string Environment = "Production"; // 静态字段(可修改)public const int MaxRetryCount = 3;               // 常量(不可修改)
}

const (常量)可以理解为特殊的静态static
相同点:
他们都可以通过类名点出使用
不同点
1.const 必须初始化,不能修改 static 没有这个限制
2.const 只能修饰变量,static可以修饰很多
3.const一定是写在访问修饰符后面的,static没有这个要求 

二、类中的静态成员有什么用?

1. ​共享数据

        静态成员用于存储所有实例共享的数据。例如,统计类的实例总数:

public class User {public static int UserCount = 0; // 所有实例共享public User() {UserCount++;}
}Console.WriteLine(User.UserCount); // 直接通过类访问

2. ​工具方法与全局配置

        将无需实例化的工具方法或全局配置定义为静态成员:

public class MathUtils {public static double PI = 3.1415926;public static int Add(int a, int b) => a + b;
}
Console.WriteLine(MathUtils.Add(2, 3)); // 直接调用静态方法

3. ​单例模式

        通过静态成员实现单例(确保类只有一个实例):

public class Singleton {private static Singleton _instance;public static Singleton Instance => _instance ??= new Singleton();private Singleton() { }
}

三、静态类和静态成员方法的介绍

1. ​静态类(Static Class)​

  • 定义:用static修饰的类,不能实例化,只能包含静态成员。
  • 用途:封装工具类或扩展方法容器。
public static class StringExtensions {public static string ToTitleCase(this string input) {return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input);}
}string name = "john doe";
Console.WriteLine(name.ToTitleCase()); // 输出 "John Doe"

注意:直接类名然后点出来使用 里面的方法

2. ​静态构造函数(Static Constructor)​

  • 作用:初始化静态字段或执行一次性的静态初始化逻辑。
  • 调用时机:在类首次被访问(如创建实例、调用静态方法)时自动执行。

注:这里的创造实例是指的是点出内部已经给你创造好的实例。你自己是无法new的。

        看如下代码:

public class Singleton {// 静态成员管理唯一实例private static Singleton _instance;public static Singleton Instance => _instance ??= new Singleton();// 私有构造函数,禁止外部 newprivate Singleton() { } 
}// 正确!通过静态属性访问唯一实例
var instance = Singleton.Instance; 

这份代码是静态构造函数的一个实际应用: 

        这段代码定义了一个 Logger 类,其核心功能是初始化日志文件的存储目录。通过静态成员和静态构造函数的设计,确保日志目录在程序运行期间只创建一次,且无需手动初始化。

public class Logger {public static string LogDirectory;static Logger() {LogDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");Directory.CreateDirectory(LogDirectory);}
}

注意:这个主要是用来初始化,做一些配置什么的

3. ​静态方法的限制

  • 不能访问实例成员(非静态字段、方法),只能访问其他静态成员。
  • 不能使用this关键字。 

四、对比总结

1. ​静态成员 vs 常量(const)​

特性静态成员常量(const)​
内存分配运行时分配编译时嵌入到IL代码
可修改性可修改(除非是readonly不可修改
类型限制无限制仅支持基本类型或null
初始化时机静态构造函数或声明时必须在声明时赋值

2. ​静态类 vs 普通类

特性静态类普通类
实例化不可实例化可以实例化
成员类型仅包含静态成员可包含静态和实例成员
继承不能继承或被继承支持继承

3. ​使用场景

  • 静态成员:共享数据、工具方法、全局配置。
  • 静态类:工具类、扩展方法容器、单例模式。
  • 常量:固定不变的值(如数学常数、配置标志)。

注意事项

  1. ​避免过度使用静态成员:可能导致代码耦合度高、难以测试。
  2. ​线程安全问题:静态成员在多线程环境下需加锁(如lock)。
  3. ​常量的限制:无法在运行时动态赋值(如从配置文件读取)。
  4. ​静态构造函数的性能:避免在静态构造函数中执行耗时操作。

        通过合理使用静态成员和常量,可以显著提升代码的模块化和执行效率,但需谨慎平衡其适用场景!


文章转载自:

http://RZ60nhzy.qpmmg.cn
http://wZylv1md.qpmmg.cn
http://MGdt66gd.qpmmg.cn
http://u8cEPYma.qpmmg.cn
http://R0BaApyz.qpmmg.cn
http://Dcc7VoQy.qpmmg.cn
http://cW4K9heE.qpmmg.cn
http://9AjGL5jn.qpmmg.cn
http://ZA8OgSZf.qpmmg.cn
http://NjdgVyxg.qpmmg.cn
http://UNfYNlzr.qpmmg.cn
http://xntJ1wml.qpmmg.cn
http://B8XOzBEm.qpmmg.cn
http://GX98yM6i.qpmmg.cn
http://JswJd6Yv.qpmmg.cn
http://CgIUn5kz.qpmmg.cn
http://w7I7NObK.qpmmg.cn
http://87tncpTN.qpmmg.cn
http://oQT3L8Ax.qpmmg.cn
http://IW73izqH.qpmmg.cn
http://SIEghwF9.qpmmg.cn
http://36g7fCsy.qpmmg.cn
http://G0IYygnV.qpmmg.cn
http://NkXKQ4AP.qpmmg.cn
http://PRYcvTaX.qpmmg.cn
http://WgDiWfAL.qpmmg.cn
http://ItW8wV84.qpmmg.cn
http://qj9AuS0u.qpmmg.cn
http://WMYWujkA.qpmmg.cn
http://so29Ryt0.qpmmg.cn
http://www.dtcms.com/wzjs/718404.html

相关文章:

  • 站长工具在线免费观看做网站还有价值吗
  • 爱站攻略百度精准获客平台
  • 该怎么跟程序员谈做网站哪些网站是单页面应用程序
  • 做旅游游客产品的网站怎样把网站做成app
  • 如何优化网站关键词排名手机网站标准字体大小
  • html链接网站模板网站服务内容怎么写
  • 网站建设人才招聘网站建站方法
  • php mysql网站开发...购买域名和服务器多少钱
  • 企业建设网站的过程推广产品
  • 网站空间做邮箱怎么用网站做chm
  • 网站服务器 安全计算机开发工具有哪些
  • 网站源码怎么预览抚顺网站制作
  • 怎么诊断网站电商数据分析师
  • 遨游建站网站建站怎么报价
  • 静态网站开发软件学做淘宝店的网站吗
  • 淘客推广个人网站怎么做17做网站联系
  • 英文网站备案百度搭建wordpress
  • 方寸网站建设三只松鼠网络营销案例分析
  • 济南响应式网站开发偃师网站
  • 建设部网站查造价师网站开发文件夹组织结构
  • 昆明网站建设天软科技广州网站 制作信科便宜
  • 金昌市住房和城乡建设局网站成都今天重大新闻事件
  • 曹县商城网站建设wordpress官方免费主题
  • 广州天河区建设网站公司山东网站开发制作
  • 合肥专业网站制电商网站对比 京东商城 淘宝网 阿里巴巴
  • 网站建设无底薪提成深圳比较好网站制作公司有哪些
  • 汽车类网站建设预算晚上必看的正能量视频下载
  • 请人做网站需要多少钱中小企业网站制作费用
  • 商务型网站建设房产网站电商怎么做
  • 东莞网站建设 熊掌号好的淘客网站