C# Static修饰的优缺点

public class qqqqqq
    {
        public static string Test()
        {
            return "版本1";
        }
    }

首先先了解下含义:
静态成员包括静态字段和静态属性,静态成员和类相关联,不依赖于对象而存在,只能由类访问,而不能由对象访问; 静态成员属于类所有,无认创建多少实例对象,静态成员在内存中只有一份;实例成员属于类的实例所有,每创建一个实例对象,实例成员都会在内存中分配一块内存区域。 所以静态成员一般用于存放共享的数据段,如数据库连接字符串等。
一个类如果只包含静态成员和静态方法,则该类可以定义为静态类,给类加上static修饰符; 静态方法和非静态方法: 一、性能上:静态方法和实例方法差别不大。所有方法,不管是静态方法还是实例方法,都是在JIT加载类时分配内存,不同的是静态方法以类名引用,而实例方法对对象实例引用。创建实例时,不会再为类的方法分配内存,所有的实例对象共用一个类的方法代码。因此静态方法和实例方法的调用,在性能上的差别微乎其微。 二、静态方法只能由类访问;实例方法只能由对象访问。

有一些频繁使用的东西,如果你每次使用都重新new一下,那么这个开销可能会很高,如果使用static,一直放在内存中,那么想用就直接用,而不需要重新new一块空间初始化数据。那么static就是为了实现一个系统的缓存作用的,其生命周期直到应用程序退出结束。

优点:
1,静态变量在类载入时,就装入内存
2,使用时不用 New 就意味的不必 创建类中 所有对象,就可以调用 某个方法
3.它们不能被实例化。
4.它们是密封的。

缺点:
1,垃圾回收机制 不能 回收 静态变量,静态类变量 会常驻内存。如果是静态类型,那就要一直占用相当的内存;一直到程序停止。或者应用程序域被卸载。所以应该只对那些常用的类型定义成静态类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C# Web服务是使用C#编程语言开发的一种用于构建和提供Web应用程序的技术。它可以用于创建各种类型的Web服务,包括RESTful API、SOAP服务等。而Swagger是一种用于描述、构建、测试和文档化Web服务的工具。 C# Web服务的优点包括: 1. 强大的生态系统:C#拥有庞大的开发社区和丰富的第三方库,可以轻松地集成其他功能和服务。 2. 高性能:C#是一种编译型语言,可以生成高效的机器码,提供出色的性能。 3. 安全性:C#提供了多种安全机制,如身份验证、授权等,可以保护Web服务的安全性。 4. 跨平台支持:通过.NET Core,C# Web服务可以在多个平台上运行,包括Windows、Linux和macOS。 Swagger的优点包括: 1. 自动生成文档:Swagger可以根据代码注释自动生成API文档,减少了手动编写文档的工作量。 2. 可视化界面:Swagger提供了一个可视化界面,可以方便地测试和调试API接口。 3. 客户端代码生成:Swagger可以根据API定义生成客户端代码,简化了客户端与服务端的交互过程。 4. 支持多种编程语言:Swagger支持多种编程语言,包括C#、Java、Python等,可以方便地与不同语言的开发者进行协作。 C# Web服务和Swagger的缺点包括: 1. 学习曲线:C#和Swagger都需要一定的学习成本,特别是对于初学者来说。 2. 复杂性:C# Web服务和Swagger在处理复杂业务逻辑时可能会变得复杂,需要合理的设计和架构。 3. 依赖性:C# Web服务和Swagger可能依赖于其他第三方库和工具,需要管理好这些依赖关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值