C# 动态方法和静态方法的区别
C# 动态方法和静态方法的区别 (转)
动态方法与静态方法的区别:
1,使用方法上的区别:
动态方法,在使用时需要先创建实例,才能调用实例方法,而静态方法则不需要,直接使用即可。
示例代码如下:
静态方法不需要实例化类就能调用
class ClassA
{
public static string MethodB()
{
return "Hello World";
}
}
用法:
ClassA.MethodB(); //调用方便
动态的方法在使用前,必须先实例化类
class ClassA
{
public string MethodB()
{
return "Hello World";";
}
}
用法:
ClassA A=new ClassA();
A.MethodB();
2,性能上的区别:
静态方法效率要稍微高一些,但是它会常驻内存,占用内存空间,而动态方法在调用完后会自动释放,节省内存空间。
什么情况下使用动态方法,什么情况下使用静态方法:
1,使用静态方法是有好处的,因为静态方法只维护一份拷贝,所以无论你有多少个实例,内存中都只会有一份拷贝。
2,使用频繁的方法用静态方法,比如数据库操作类,我们就是使用静态方法。使用的少的方法用动态的。因为静态的速度快,但占内存,就像是缓存一样,经常用的数据我们应该应该将它们缓存起来。动态方法的调用速度相对慢些,但调用完后,会立即释放类,节省内存。
用户可以根据自己的需要选择是用动态方法还是静态方法。
C# 动态方法和静态方法的区别的更多相关文章
- 关于java线程锁synchronized修饰普通方法与静态方法的区别
最近研究线程方面问题,关于这个synchronized锁修饰的问题,先是修饰普通方法,然后通过两个线程,各自执行自己对象的锁,发现方法执行互不影响,代码如下: private static int n ...
- php中普通方法和静态方法的区别以及抽象类和接口
实例化类产生对象.class fenbi{ //普通成员,属于对象 public $length = "10cm"; //静态成员,静态变量,属于类. public static ...
- iOS---类方法(静态方法)和实例方法
类方法 实例方法是以+开头的方法, 实例方法是用实例对象访问: 类方法的对象是类而不是实例,通常用来创建对象或者工具类. 在实例方法里,根据继承原理发送消息给self和super其实都 ...
- Struts 2之动态方法调用,不会的赶紧来
学习Struts2框架以来为了减少Action 的数量,我们可以使用动态方法进行处理. 动态方法调用(Dynamic Method Invocation,DMI)是指表单元素的Action并不是直接等 ...
- Python普通方法、静态方法、类方法
开始 # -*-coding:utf-8-*- # 普通方法,类方法,静态方法的区别 __metaclass__ = type class Tst: name = 'tst' data = 'this ...
- jQuery的核心对象、原型对象、静态方法、动态方法
什么叫jQuery的核心对象? $ $===jQuery 什么叫jQuery的原型对象? $.fn $.fn===$.prototype 什么叫静态方法? 在构造函树上定义的方法,静态方法通过构造函数 ...
- python类的实例方法\静态方法\类方法区别解析(附代码)
前言 搞了好久python,一直搞得不太清楚这几种类的方法,今天花时间好好测试一下,算是弄懂点皮毛吧. 三种方法的不同 先剽窃个图看一下 可以看到,实例是三种方法都可以调用的,而类只可以调用两种.所以 ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- js中属性和方法的类型和区别
对象的属性:私有属性(var).类属性(静态属性).对象属性(this).原型属性(prototype). 对象的方法: 私有方法(funtion).类方法(静态方法).对象方法(this).原型方法 ...
随机推荐
- 面试:C++实现访问者模式
参考:深入应用C++11,访问者模式 #include <iostream> class ConcreteElement1; class ConcreteElement2; class V ...
- 读了这篇文章,你将变身web分析大师
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由shirishiyue发表于云+社区专栏 1.工具介绍 这是一个非常详细且专业的web页面性能分析工具,而且开源的!如果你打不开其 ...
- 进程间通信IPC-管道
管道是UNIX系统IPC的最古老的形式,所有的UNIX系统都提供此通讯机制.管道有以下两种局限性: 1, 历史上,它们是半双工的(即数据只能在一个方向上流动).现在某些系统提供了全双工管道,但是为了最 ...
- HAPRoxy(一):HAProxy基本配置、调度算法与tcp、http、heath模式配置示例
一.HAProxy安装 1.HAProxy简单介绍 HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡. 2.yum安装HAProxy ...
- “未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序”问题的解决
发布到win7 64位旗舰版iis上时,报:“未能加载文件或程序集“BC.Common”或它的某一个依赖项.试图加载格式不正确的程序”. 该DLL的本地复制没有设置为true(在项目引用里找到该引用, ...
- JavaScript字符串常用方法
toUpperCase():把一个字符串全部变为大写 toLowerCase():把一个字符串全部变为小写 indexOf():会搜索制定字符串出现的位置,有返回索引,没有返回-1 substring ...
- Jquery闪烁提示特效
样式:.red{ border:1px solid #d00; background:#ffe9e8; color:#d00;} function shake(ele,cls,times){ var ...
- Yapi学习笔记
. 下载源码:https://github.com/YMFE/yapi 2. 安装MongoDB数据库,下载地址:链接:https://pan.baidu.com/s/1bZKlcy 密码:ah3n ...
- SQL SERVER 如何声明一个变量
DECLARE @i AS INT; ; GO 或者 ; GO 表表达式形式 ); SET @empname = (SELECT firstname + N' ' + lastname FROM HR ...
- 流程控制<二>
上一篇:Numbers.Strings.Lists 笔记<一>下一篇:数据结构-Python3.7<三> 如果需要修改迭代中的数据,建议先赋值一个副本(e.g:序列,切片复制的 ...