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

吴忠住房和城乡建设网站网站开发问卷调查

吴忠住房和城乡建设网站,网站开发问卷调查,wordpress显示轮播图,网站建站服务公司地址静态(static)是C#中一个重要的关键字,它可以应用于类、方法、属性和字段。 静态类 静态类的特点: 不能实例化只能包含静态成员密封的(sealed),不能被继承 应用场景: 工具类/辅助类数学计算类:如Math类…

静态(static)是C#中一个重要的关键字,它可以应用于类、方法、属性和字段。

静态类

静态类的特点

  • 不能实例化
  • 只能包含静态成员
  • 密封的(sealed),不能被继承

应用场景:

  • 工具类/辅助类
  • 数学计算类:如Math类
  • 扩展方法、全局访问等

扩展方法

扩展方法必须写在非泛型的静态类中
对int类型进行扩展,添加一个Divide方法,返回double类型
this 后面跟类型和参数名称,为要进行扩展的类

   public static class ExtendMethod{public static double Divide(this int a, int b){return a*1.0 / b;}}

使用
在这里插入图片描述

静态类

除扩展方法外,其他类中,除非特殊需要一般不直接写为静态类,因为静态类中的,方法、属性、成员必须是静态的。

public static class StringHelper
{    public static string Reverse(string input){char[] charArray = input.ToCharArray();Array.Reverse(charArray);return new string(charArray);}
}// 使用
var result = StringHelper.Reverse("hello");

静态方法

  • 不依赖于实例对象
  • 单例模式的实力获取方法
    在类中添加一个生成单例的方法,当然也运行通过new的方式创建,此时非单例
    public class Logger{private static Logger _instance;private static object _lock = new object();public static Logger GetInstance(){lock (_lock){if (_instance == null){_instance = new Logger();}return _instance;}}// 实例方法public void Log(string message){Console.WriteLine(message);}}

使用

  static void Main(string[] args){Logger logger = Logger.GetInstance();logger.Log("Test message");Console.ReadLine();}

静态属性

  • 共享数据,全局配置
  • 资源计数
  • 单例实例访问
        private static object _syncObj = new object();private static KvPLC _instance = null;public static KvPLC KvInstance //单例对象{get{lock (_syncObj){if (_instance == null){_instance = new KvPLC();}}return _instance;}}

静态字段

  • 共享数据、缓存常用数据
  • 计数器
  • 只读常量(通常与const或readonly一起使用)
    统计User类的用户数量
    public class User{private static int _userCount = 0;public User(){_userCount++;}public static int TotalUserCount=>_userCount;}

使用

        static void Main(string[] args){var user1 = new User();var user2 = new User();//总用户数:2Console.WriteLine($"总用户数:{User.TotalUserCount}");Console.ReadLine();}

优点

  • 无需实例化即可使用, 全局可访问(需谨慎使用)

缺点

  • 可能导致代码紧耦合,难以进行单元测试

  • 过度使用可能导致"上帝对象"问题

  • 线程安全问题(需要特别注意同步)

静态属性和静态字段

访问控制

静态字段

  • 直接暴露数据,无访问控制逻辑
  • 若为public,外部可直接修改值,风险较高
public static class Counter {public static int Count;  // 直接暴露
}// 外部可直接修改
Counter.Count = 100;  // 无任何验证逻辑
  • 静态属性
  • 通过get/set控制访问
  • 可添加验证逻辑、延迟加载、线程同步等
    验证逻辑
public static class Counter {private static int _count;public static int Count {get => _count;set {if (value >= 0)  // 添加验证_count = value;}}
}Counter.Count = -5;  // 赋值无效,值不会被修改

延迟加载

public static class LazyData {private static Data _data;public static Data Data {get {if (_data == null) _data = LoadData();return _data;}}private static Data LoadData() { /*...*/ }
}

线程安全

public static class ThreadSafeCounter {private static int _count;private static object _lock = new();public static int Count {get { lock(_lock) return _count; }set { lock(_lock) _count = value; }}
}

初始化方式

静态字段

  • 支持直接初始化或通过静态构造函数
  • 可声明为readonly(只读)
public static class Constants {public static readonly int MaxRetries = 3;  // 运行时初始化public const string AppName = "MyApp";     // 编译时常量
}

静态属性

  • 初始化需通过访问器或静态构造函数
  • 不可直接使用readonly,但可通过私有set实现只读
public static class Config {public static string Environment { get; } = "Production";  // 只读属性public static int Timeout { get; private set; } = 30;     // 限制外部修改
}

总结

  • 简单数据存储 → 优先使用private static field + public static property

  • 需要控制访问或扩展逻辑 → 必须使用静态属性

  • 常量数据 → 使用public const或public static readonly字段

  • 线程共享数据 → 通过属性添加同步机制

http://www.dtcms.com/a/468172.html

相关文章:

  • 网站定制案例微安电力哪家做网站的公司
  • 建设通网站是做什么的wordpress functions.php
  • 全球优秀网页设计机构慧聪网seo页面优化
  • 建网站需要注意什么中小学生在线做试卷的网站6
  • 西安做网站哪家好网线水晶头制作过程
  • 网站加图标网站推广策划案
  • 网站充值记账凭证怎么做无锡定制网站
  • 搜索引擎优化seo网站网站建设集团
  • 上海一家做服饰包鞋穿上用品的网站wordpress做主页
  • 网站建设与管理和电子商务哪个好网页设计师培训学费
  • 动易网站后台编辑器无效问题巴中 网站建设
  • 东至网站建设想做视频
  • 郑州网站及优化深圳做二维码网站建设
  • 莆田网站建设哪家好湛江网站建设推广
  • 大型网站制作流程一个域名怎么做网站
  • 南庄网站开发wordpress主题安装说明
  • 商业网站开发岗位需求分析360网站建设官网
  • 品牌网站设计制作一般多少钱wordpress安装不上主题
  • python 视频播放网站开发梁山企业网站建设
  • 申请网站怎样申请合肥刚刚通报阳性
  • 个人备案网站可以做论坛吗网页制作需要学什么语言
  • asp.net 开发网站开发厦门论坛网站建设
  • 网站优化怎么做河北网站建设哪家好
  • 做防伪查询网站公司变更股东的流程及所提交的材料
  • 网站怎么放到服务器上网站建设和网站设计
  • 江门市住房和城乡建设局门户网站wordpress页面id判断
  • 网站建设怎么搭建服务器国家企业信用信息公示官网糸
  • 个人做百度云下载网站吗什么叫电商
  • 可视化网站设计工具网站开发都有什么类别
  • 免费黄页营销网站营销型网站规划建设的七大要素