barriers / 阅读 / 详情

c#谁能仔细的说下Dispose()和IDispose?

2023-07-19 12:11:17
共2条回复
苏萦

IDispose是清理该对象的一个接口,该接口只有一个方法Dispose,继承该接口主要用于using语句,比如:

class A:IDispose

{

public override void Dispose()

{

......

}

......

}

using(A a = new A())

{

......

}

using结束时会自动释放对象a,也就是自动调用A的Dispose方法,所以A必须继承IDispose才能使用using语句,using结束时,会做如下动作:

IDispose d = a as IDispose;

d.Dispose();

snjk

Dispose(bool disposing)

此方法是可重写的版本

相关推荐

dispose的短语

  dispose表. 处理,处置; 安排的意思,那么你知道dispose的短语有哪些吗?接下来我为大家整理了dispose的短语搭配,希望对你有帮助哦!   dispose的短语:   dispose for (v.+prep.)   愿意 want to do sth   ▲be disposed for sth   I am disposed for a game of chess.我想下一盘棋。   dispose of (v.+prep.)   ▲dispose of sb/sth   〔说明〕 dispose of常不用于进行体。   1.将(某物)处理掉 get rid of (sth) by selling or giving or throwing it away   While you"re cleaning out the garage, please dispose of those piles old newspapers.在你们清理车库时,请把那几堆旧报纸处理掉。   2.驳倒或击败 destroy (an argument or opponent)   The next speaker quickly disposed of his weak argument.下一个发言人很快就驳倒了他那个缺乏说服力的观点。   dispose to (v.+prep.)   1.使倾向于 cause to tend to sth   Suspicions dispose kings to tyranny and husbands to jealousy.猜疑使君王倾向于专制,使丈夫倾向于妒忌。   dispose的短语例句:   1. He alleged that they had hired an assassin to dispose of him.   他宣称他们已雇了刺客来除掉他。   2. They have no way to dispose of the hazardous waste they produce.   他们没有办法处理掉自己产生的有害废料。   3. He doesn"t know how to dispose of his spare time.   他不知如何打发空余时间.   4. We will have to dispose of the mice in the attic.   我们必须消灭阁楼里的老鼠.   5. The United States tried to dispose of its grain surpluses.   美国努力把过剩粮食处理掉.   6. Suspicions dispose kings to tyranny and husbands to jealousy.   猜疑使君王倾向于专制,使丈夫倾向于妒忌.   7. His criminal records do not dispose me to trust him.   他的前科迫使我无法信任他.   8. They dispose of the city"s waste in the sea.   他们把城市的废物倒入大海处理掉.   9. Suspicious dispose kings to tyranny and husbands to jealousy.   猜疑使国王倾向于专制,猜疑使丈夫倾向于嫉妒.   10. Have you any secondhand books to dispose of?   你有旧书要处理 吗 ?   11. These goods are difficult to dispose of.   这些货不好脱手.   12. Just fold up the nappy and dispose of it in the normal manner.   把尿布叠起,像平常扔东西一样扔掉即可。   13. The suspect was taken unawares, without the chance to dispose of the evidence.   嫌疑人被弄了个措手不及,根本来不及销毁证据。   14. Furthermore, courts often seem to dispose of mixed questions in inconsistent ways.   此外, 法院似乎常常前后矛盾地处理混合问题.   15. How could he dispose of the goods produced by the eight factories?   八个厂的货销不去又怎样?
2023-07-18 17:44:571

dispose 可以用作名词吗

dispose没有性情的意思,其名词为disposal,意思是处置.dispostion是性情的意思,两个词似乎并没有什么关系,就是长得很像..别查中文词典,胡乱瞎写.查英文的,比如科林斯还有牛津,朗文等等.
2023-07-18 17:45:102

C#中Dispose和Close的区别

Dispose:永久删除窗体或内存中的连接,释放或重置托管(非托管)的资源。它基本上用于我们不需要再重复使用资源时则就调用了这个方法,Close:关闭在该对象内创建的所有资源并且释放该窗体,当我们想要重用的窗体属性或窗体对象时则调用这个方法。
2023-07-18 17:45:213

dispose要写在finally中吗

dispose要写在finally中。using本质其实就是一个try-finally,将using中的代码生成在try中,Dispose方法写在finally中,所以Dispose方法无论如何都会调用。在C#的对象资源释放中,对于我们使用非托管的资源时,需要自己去实现Dispose这个方法,它的含义就是释放使用的内存空间。C#的特点:C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作。1、简洁的语言C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。2、具有结构化的控制语句C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
2023-07-18 17:45:531

.NET 的 Dispose 方法

嗯,这样比较好,但不是必须
2023-07-18 17:46:107

C# Dispose();和Close();的不同?

Close();//关闭Dispose();//消毁,这个不用管,自己用调用。
2023-07-18 17:46:276

C# dispose怎么用?

IDisposable接口里面的方法原型是:void Dispose().你这个Dispose(false) 应该是重载方法。。至于这个false传进去是干嘛用的,就要看具体的方法是怎么写的了。当使用using的时候,会自动调用void Dispose()这个方法,也可以自己调用,Dispose(false) 这个方法重载过了,应该是自己调用的。void Dispose()这个方法要干的事情就是释放资源。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
2023-07-18 17:46:401

java编程中graphics为什么要用后要马上dispose

用完就要释放掉,当然仅限于释放屏幕资源
2023-07-18 17:46:513

当翻译为"处理,处置"时,dispose和dispose of有什么不同吗?

处理、处置某物用 dispose of sth, 不用dispose sth。dispose一般后面直接跟人, dispose sb to sth, 不过这时候不是处理处置的意思了。
2023-07-18 17:46:591

C# dispose的用法

一:什么是资源在开始本文前,需要一些准备知识。首先要提出“什么是资源”。在CLR出来之后,Windows系统资源开始分为“非托管资源”和“托管资源”。非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理;托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象。其次再来讲,资源的释放方式。非托管资源:需要显式释放的,也即需要你写代码释放;托管资源:并不需要显式释放,但是如果引用类型本身含有非托管资源,则需要进行现实释放;二:显式释放的C#实现显式释放的C#实现,由C#语法支持的有:1:实现IDisposable接口的Dispose方法;2:析构方法(终结器);不由C#语法支持,但是约定支持的显式释放是:3:提供显示释放方法,比如常用的Close方法;三:Dispose、Close和析构方法异同点但是,还需要区分这3种方式的异同点。首先,你无法调用析构方法。析构方法是由垃圾回收机制进行调用的。换句话来说,就是你不知道析构方法被调用的时机。严格意义上来说,它只是作为资源释放的一个补救措施。资源释放的一个正确的措施是为类型实现IDisposable接口的Dispose。当你需要释放类型的资源的时候,应该显示的调用Dipose方法。当然,这里还有一个C#的语法糖,就是使用using程序块,在离开using程序块的时候,CLR会自动调用类型所创建对象的Dipose方法。可能有人会问道,既然可以通过Dispose方法的方式来进行资源的释放,为什么有些类型还需要提供一个Close方法。这里面的区别,或者说约定在于,如果你仔细观察这些类型:他们基本都只公开了Close方法,他们都实现了IDisposable,但都隐藏了Dispose方法。以Socket这个类为例,它:1:提供public void Close()public void Close(){//….((IDisposable)this).Dispose();//…. }2:提供显式void IDisposable.Dispose()void IDisposable.Dispose() { this.Dispose(true);GC.SuppressFinalize(this);}3:提供protected virtual void Dispose(bool disposing)。真正的资源释放的代码放在这里。所以理论上来将,提供Close方法最终还是使用的Dispose方法,之所以这么做,是因为这些类型出于显式实现IDisposable的因素,在调用这些Dispose方法的时候,必须完成一次转型,如: ((IDisposable)new A()).Dispose(); 为了避免转型,同时也为了避免不熟悉C#语法的开发人员更直观的释放资源,提供了Close方法。在上文的例子中,你可能已经注意到IDisposable.Dispose这个方法中,包含一句: GC.SuppressFinalize(this); 这是告诉CLR,在进行垃圾回收的时候,不用再继续调用析构方法(终结器)了。是的,因为你已经手动释放资源了。这也从另一个方面验证了析构方法只是作为资源释放的补救机制。因为假设你忘记Close或者Dispose了,CLR会在垃圾回收的时候为你做这件事。查看Socket的析构函数,你会很好的理解这一点。~Socket(){this.Dispose(false);}是的,析构方法调用的也是Dispose。备注1:本文带来几个争论1:托管资源本身是否需要显式释放。答案显然是:不需要;2:如果引用类型对象不再需要,是否需要显式=null;答案是:即使不这样做,GC也会进行垃圾回收。3:将托管资源分为引用类型资源和值类型资源这种分类方法是有问题的,或者说是错误的。正确的分类法应该是栈资源和堆资源。线程栈中存放的是方法的实参和方法内部的局部变量。堆上存放的是类型对象本身及对象的两个额外成员:类型对象指针和同步块索引。4:Dispose方法本身是用来让你放置资源清理代码的。显然,一个空方法并不代表清理工作本身,真正执行清理工作的是你具体的代码。备注2:推荐Dipose模式实现如:基类代码class ClassShouldDisposeBase : IDisposable{public void Dispose(){this.Dispose(true);GC.SuppressFinalize(this);}protected virtual void Dispose(bool disposing){if (disposing){//执行基本的清理代码}}~ClassShouldDisposeBase(){this.Dispose(false);}}子类:代码class ClassShouldDispose: ClassShouldDisposeBase{protected virtual void Dispose(bool disposing){if (disposing){// 执行子类清理代码// 如有必要,执行base.Dispose(disposing);}else{// 如有必要,执行base.Dispose(disposing);}}public void Close(){//调用本类或者基类的Dispose方法//其它代码}}
2023-07-18 17:47:082

【39】D.dispose

【答案】:C解析:A项意为“寻找,定位,设置”,B项意为“平息,使和解”,C项意为“放置”,D项意为“布置,处理,排列”。根据文意此处应该是放置的意思,可以表达为“place your book or put your book”均可,意为“勿将书籍翻开倒扣放置”,故此题选择C项。
2023-07-18 17:47:151

VB中释放绘图对象的Dispose方法起什么作用

Dispose 是释放该对象所占用的资源(一般指内存空间)。一个程序执行结束后会自动 DIspose 所有对象,但如果你频繁操作特别大的对象,就要记得手动释放了。就好比说一个垃圾箱,你既可以等垃圾箱满了自己扔掉所有垃圾,也可以手动的扔掉某个占地方比较的垃圾,省得下次再想扔垃圾的时候垃圾箱没地方装了。
2023-07-18 17:47:231

请教英语高手eliminate 和dispose这两个词强调的部分有什么不同?谢谢

eliminate一般指“消除,灭绝”,dispose指“处理,去掉”。
2023-07-18 17:47:443

dispose()到底怎么用啊?

你不觉得你的程序错了吗??大概改了一下,可以关闭了,但是这样写不是最好的import java.awt.*;import java.awt.event.*;public class TestDemo2{ public static void main(String[] args) { Button btn; final Frame f1=new Frame("TestDemo2"); f1.setVisible(true); f1.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e) { f1.dispose(); } }); btn=new Button("关闭"); btn.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub f1.dispose(); } }); f1.add(btn); }}
2023-07-18 17:47:511

我想知道 处理 的区别 比如: dispose handle address deal

dispose太正式了。address也是。handle和deal with在这里都可以用。
2023-07-18 17:47:591

java dispose 怎么用

dispose是 java.awt.Windows类的方法,它的作用是销毁程序中指定的图形界面资源,对数据资源不产生影响,所以当我们在SWing或是AWT中的图形界面组件时如果调用它,组建内的数据对象不会消失,只有在这些数据资源其他地方没有再使用后才会由垃圾回收机制处理掉。关闭窗口 一般用 window.close() //貌似过时了现在用 window.setVisible(true) //true or false 控制窗体是否显示当然还可以用 window.hide() //仅仅是隐藏窗口
2023-07-18 17:48:071

delphi 函数内dispose有效吗

dispose对应的是new。
2023-07-18 17:48:152

ASP.NET中按钮销毁Dispose()方法的使用

= =
2023-07-18 17:48:234

用System.exit(0)关闭窗口 和 用dispose()关闭窗口有什么区别

很简单,第一个是关闭JVM 第2个是关闭当前程序;
2023-07-18 17:48:344

ASP.NET Dispose()方法的使用

你查查reader的类型是什么? 然后看看null的类型是什么!如果两个类型不同自然就是false了!
2023-07-18 17:48:424

dispose of的用法

dispose verb (formal) [VN +adv./prep.] to arrange things or people in a particular way or position sb to / toward(s) sth to make sb behave in a particular way: [VN] a drug that disposes the patient towards sleep [also VN to inf]Phrasal Verbs: dispose of sb/sth to get rid of sb/sth that you do not want or cannot keep: the difficulties of disposing of nuclear waste ◆ to dispose of stolen property to deal with a problem, question or threat successfully: That seems to have disposed of most of their arguments. to defeat or kill sb: It took her a mere 20 minutes to dispose of her opponent.这是牛津高阶英英字典的查询内容。这样看来dispose 没有不及物用法,但有固定词组dispose of以下是译典通的查询结果:dispose 英音:[di"spu0259uz] 美音:[du026a"spoz] 及物动词 vt. 1.配置,布置[(+for)]They disposed troops along the river. 他们沿河布置了军队。 2.处置,处理;整理3.使倾向于,使有意于[(+for/to)][O2]The good pay disposed him to take the job. 高薪使他接受了这份工作。 不及物动词 vi. 1.处置,处理;(能)决定[(+of)]I want to dispose of these old books. 我想处理掉这些旧书。 Man proposes, God disposes. 谋事在人,成事在天。 总的来说,牛津英英比较专业,从例句来看,dispose vt应该表安排、处置、使某人某事像你安排的那样行动,一般dispose+n+adv/prep或是dispose+n+toward(s)+sth.;而+of或是称作vi用法时,表示舍弃、去掉、击败,一般只有dispose of+n
2023-07-18 17:49:021

disposal / dispose 这两英语单词怎么读?

迪斯剖奏 迪斯剖子
2023-07-18 17:49:102

处理用英语怎么说最合适

得结合上下文如果是处理一下事务可以说dealwith/handle/conductsth如果是当处置讲,比如处理生活垃圾,就是dispose或者处理食品等,可以用processe.g.processthemeat/vege处理伤口,应该用treat(would)
2023-07-18 17:49:202

java 中的控件.dispose()是什么意思?是指的是控件被释放卸载吗

Java编程中的graphics中的dispose方法是 java.awt.Windows类的方法,它的作用是销毁程序中指定的图形界面资源,如果在使用了graphics获得windows一些图形资源,而不进行关闭的话,由于后期多人使用就会造成内存溢出的情况的,导致程序卡死。dispose方法类似java 连接数据库时使用conn.close方法,也是为了关闭数据库连接资源。
2023-07-18 17:49:521

C# 自定义类 dispose 释放类对象

用List<User>来添加创建的对象实例调用remove或者removeat来清除不用的对象User us;List<User> Users=new List<User>;For (int i=1;i<1001;i++){us=new User());Users.add(us)}For(int i=1;i<Users.Count+1;i++){ Users.RemoveAt(i);}
2023-07-18 17:50:004

关于C#中的graphics变量的dispose问题

如果你说的存在的话,愿因有二其一:通过e.Graphics建立的对象是在某对象中建立的画图,在此对象中已有该对象的释放内存的指令;其二:CreateGraphics只是建立一个Graphics对象,这二者的意义是不同的。
2023-07-18 17:50:073

Winform中何时需要Dispose释放资源

Dispose是用来释放非托管资源的,并不会释放托管资源,new是从托管堆中分配得资源,只能通过GC回收,无法手动释放。你可以使用System.GC.Collect()来强制进行GC,用System.GC.WaitForFullGCComplete()等待GC完成。如果你确实需要,使用System.Runtime.InteropServices.Marshal来手动申请和释放非托管内存,但是,其中无法保存托管对象,只能保存整型、浮点型和字符型及其数组,或者具有StructLayout或MarshalAs特性的结构或类。 (会带来一定的运行期代价)
2023-07-18 17:50:141

dispose 和dispose of的区别

关于这个问题,有无数的复制粘贴,先鄙视一下;按我的理解,dispose 和dispose of 如果要讲区别,首先是是用法的区别;很显然dispose 和dispose of 都有 处置、处理的意思;当dispose 和dispose of要表达处置、处理的意思时:一般是 dispose of sth,这是习惯用语, 而较少用dispose sth 。但也不是不可以,例如:How to dispose these debris is one ofthe most complicated problems for every government.特别不同的是,当dispose 后面接人时,在句中一般不是“处置、处理的意思”,而是安排、布置的意思。例如:the general disposed his army in a circle.
2023-07-18 17:50:401

dispose和approach的区别

dispose通常是用在带有处理掉某件东西的语境。一般和of 连用,approach是靠近的意思。dis,分离、分开、抽离,表示否定,其他例子还有:discard, discover, disinterested, etc. pose,姿势、姿态、放置、位置。而且pose也是常见的后缀,其他例子还有:impose, compose, expose, etc. dispose,把位置分离开——通过扔、送、卖的方式处理掉某个东西。短语dispose sb to/towards sb/sth的意思是使sb对sb/sth产生某种特别的感觉。造句:The way he treats his son really dispose me very kindly to him.Dispose的英文解释:1、get rid of by throwing away or giving or selling to someone else.2、[dispose sb to/towards sb/sth] to make someone feel a particular way towards someone or something.
2023-07-18 17:51:051

dispose用法搭配

dispose的用法搭配如下:dispose for (v.+prep.)愿意 want to do sth▲be disposed for sthI am disposed for a game of chess.我想下一盘棋。dispose of (v.+prep.)▲dispose of sb/sth〔说明〕 dispose of常不用于进行体。1.将(某物)处理掉 get rid of (sth) by selling or giving or throwing it awayWhile you"re cleaning out the garage, please dispose of those piles old newspapers.在你们清理车库时,请把那几堆旧报纸处理掉。2.驳倒或击败 destroy (an argument or opponent)The next speaker quickly disposed of his weak argument.下一个发言人很快就驳倒了他那个缺乏说服力的观点。
2023-07-18 17:51:121

dispose,manage,handle,cope with,deal with,do with在表示处理的意思时有什么区别?

dispose通常是用在带有处理掉某件东西的语境。一般和of 连用。dispose of him,把他干掉。 manage,多是管理的意思而不是单纯的处理,通常是需要仔细或系统考虑的管理。 handle,通常表达有处理或掌控的能力。 I will handle this, I 来搞定这事儿。 cope with是指有能力对付或应对。I was not able to cope with the stress, 我顶不住那种压力。 deal with 和 do with 比较口语,各种“类型”的处理都可以用他们。 纯手打,望采纳
2023-07-18 17:51:491

expose和dispose有什么区别

意思意义不同。expose是暴露,揭露,解法,露出,显露,曝光的意思;dispose是放置,安排,处理的意思。
2023-07-18 17:51:571

C#中窗体的Dispose方法是做什么的

释放资源
2023-07-18 17:52:043

C#中Dispose和Close的区别

当我们开发C#代码的时候,经常碰到一个问题,有些class提供Close(),有些class提供Dispose(),那么Dispose和Close到底有什么区别?首先,Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C++背景的developer)。但是当我们写code时候,如果要实现Close和Dispose的时候,要注意Close和Dispose的设计模式。.net的一些class只提供Close,而且派生自IDisposable,并且隐藏了Dispose方法。是不是觉得很不明白了?对这些class来说,关键在于它们显式的(explicitly)实现了IDisposable。对于隐式实现来说,你只需要调用"new A().Dispose()",但是对于显式实现来说,Dispose不会是这个class的成员函数。唯一的调用方式是你先要cast到 IDisposable才行。(“new A().Dispose()”编译不过,但是“((IDisposable)new A()).Dispose()”可以编译过)。所以这样就符合了设计的要求:提供Close(),隐藏Dispose(),并且实现了 IDisposable接口。在.net的framework里,Close()被设计成public的,并且在Close()里面call被隐藏的Dispose(); Dispose()去call另一个virtual的Dispose(bool)函数。所以如果你从这个class继承,你就必须实现Dispose (bool)方法。调用者call Close()的时候就会call到你重载的那个Dispose(bool)方法去释放资源。请参考 http://blogs.msdn.com/brada/archive/2003/07/06/50127.aspx注意事项:1,Close()不应该被定义成virtual。对于这个design pattern,Close()只是用来call那个隐藏的Dispose(),用户不应该改变Close的behavior。对于这个问题, System.IO.Stream也有设计问题。之所以有问题是为了满足向后兼容的需求。See http://msdn2.microsoft.com/en-us/library/ms227422.aspx. 文档里面提到虽然Close()是virtual的,但是不应该被override。
2023-07-18 17:52:131

C# dispose怎么用?

IDisposable接口里面的方法原型是:void Dispose().你这个Dispose(false) 应该是重载方法。。至于这个false传进去是干嘛用的,就要看具体的方法是怎么写的了。当使用using的时候,会自动调用void Dispose()这个方法,也可以自己调用,Dispose(false) 这个方法重载过了,应该是自己调用的。void Dispose()这个方法要干的事情就是释放资源。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
2023-07-18 17:52:311

disposal是dispose的名词形式么,长的挺像,如果不是,怎么区分呢

应该是吧
2023-07-18 17:52:413

Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C++背景的developer)。但是当我们写code时候,如果要实现Close和Dispose的时候,要注意Close和Dispose的设计模式。.net的一些class只提供Close,而且派生自IDisposable,并且隐藏了Dispose方法。是不是觉得很不明白了?对这些class来说,关键在于它们显式的(explicitly)实现了IDisposable。对于隐式实现来说,你只需要调用"newA().Dispose()",但是对于显式实现来说,Dispose不会是这个class的成员函数。唯一的调用方式是你先要cast到IDisposable才行。(“newA().Dispose()”编译不过,但是“((IDisposable)newA()).Dispose()”可以编译过)。所以这样就符合了设计的要求:提供Close(),隐藏Dispose(),并且实现了IDisposable接口。在.net的framework里,Close()被设计成public的,并且在Close()里面call被隐藏的Dispose();Dispose()去call另一个virtual的Dispose(bool)函数。所以如果你从这个class继承,你就必须实现Dispose(bool)方法。调用者callClose()的时候就会call到你重载的那个Dispose(bool)方法去释放资源。请参考http://blogs.msdn.com/brada/archive/2003/07/06/50127.aspx注意事项:1,Close()不应该被定义成virtual。对于这个designpattern,Close()只是用来call那个隐藏的Dispose(),用户不应该改变Close的behavior。对于这个问题,System.IO.Stream也有设计问题。之所以有问题是为了满足向后兼容的需求。Seehttp://msdn2.microsoft.com/en-us/library/ms227422.aspx.文档里面提到虽然Close()是virtual的,但是不应该被override。
2023-07-18 17:52:481

dispose,manage,handle,cope with,deal with,do with在表示处理的意思时有什么区别?

dispose通常是用在带有处理掉某件东西的语境。一般和of 连用。dispose of him,把他干掉。manage,多是管理的意思而不是单纯的处理,通常是需要仔细或系统考虑的管理。handle,通常表达有处理或掌控的能力。 I will handle this, I 来搞定这事儿。cope with是指有能力对付或应对。I was not able to cope with the stress, 我顶不住那种压力。deal with 和 do with 比较口语,各种“类型”的处理都可以用他们。纯手打,望采纳
2023-07-18 17:52:581

disposeof的翻译disposeof的翻译是什么

disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的英英释义是Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"。disposeof的词义辨析是dealwith,copewith,disposeof,manage,handle。一、词典解释点此查看disposeof的详细内容1.丢掉;清除;处理Ifyoudisposeofsomethingthatyounolongerwantorneed,youthrowitaway.disposeof的解释e.g.Justfoldupthenappyanddisposeofitinthenormalmanner.把尿布叠起,像平常扔东西一样扔掉即可。e.g....thesafestmeansofdisposingofnuclearwaste...处理核废料最保险的方法2.办妥;处理好;解决Ifyoudisposeofaproblem,task,orquestion,youdealwithit.e.g.Youdidusagreatfavourbydisposingofthatproblem...你解决了那个问题,可算是帮了我们一个大忙。e.g.Thejusticeshavebeenarguingabouthowthecaseshouldbedisposedof.法官们就如何处理该案一直争论不休。3.除掉;杀掉Todisposeofapersonorananimalmeanstokillthem.e.g.Heallegedthattheyhadhiredanassassintodisposeofhim.他宣称他们已雇了刺客来除掉他。二、网络解释1.除掉;干掉;卖掉:disguise...as把...假扮成;使...假装|disposeof除掉;干掉;卖掉|doagoodjob好好干;干得好2.处理:disposefor使倾向于|disposeof处理|dispositionn.气质三、例句Iwanttodisposeoftheseoldbooks.我想处理掉这些旧书。Hehasdisposedoftherubbishproperly.他已经适当地处理了垃圾。Thenewarrangementcausedalotofillfeeling.新的安排引起了许多人的不满。Theyhaveplannedatightscheduleoftravel.他们安排了一个紧凑的旅行日程。Wefavorasportingsolutionoftheproblem.我们赞成堂堂正正解决这个问题。IttookLeibowitzfiveminutestodisposeofhim.雷保维兹只费五分钟便解决了他。四、词义辨析dealwith,copewith,disposeof,manage,handle这些动词或短语都含有“处理”,“对付”之意。dealwith既可指处理具体事情,也可指处理或解决具有抽象意义的问题。copewith指成功地处理或对付更为重大,更为严重的问题或事物。disposeof与dealwith同义,普通用法。manage指处理日常事务与工作,也可指经营管理。handle从原义“手柄”,转引申为作“处理”解时,其内涵是管理和操纵。disposeof的相关近义词reject、remove、expel、discard、eliminate、exterminate、cashier、handle、copewith、dealwith、managedisposeof的相关临近词dispose、disposedsoilanddreg、disposeoftheworkers、disposeoftherubbish、disposeoftheaquacade、disposetheslimewater、disposeofsignalnoise、disposeoftheopposition点此查看更多关于disposeof的详细信息
2023-07-18 17:53:051

disposeof的解释disposeof的解释是什么

disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的英英释义是Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"。disposeof的词义辨析是dealwith,copewith,disposeof,manage,handle。一、参考翻译点此查看disposeof的详细内容处置,处理,安排,除掉,解决,卖掉,干掉二、词典解释1.丢掉;清除;处理Ifyoudisposeofsomethingthatyounolongerwantorneed,youthrowitaway.disposeof的解释e.g.Justfoldupthenappyanddisposeofitinthenormalmanner.把尿布叠起,像平常扔东西一样扔掉即可。e.g....thesafestmeansofdisposingofnuclearwaste...处理核废料最保险的方法2.办妥;处理好;解决Ifyoudisposeofaproblem,task,orquestion,youdealwithit.e.g.Youdidusagreatfavourbydisposingofthatproblem...你解决了那个问题,可算是帮了我们一个大忙。e.g.Thejusticeshavebeenarguingabouthowthecaseshouldbedisposedof.法官们就如何处理该案一直争论不休。3.除掉;杀掉Todisposeofapersonorananimalmeanstokillthem.e.g.Heallegedthattheyhadhiredanassassintodisposeofhim.他宣称他们已雇了刺客来除掉他。三、例句Iwanttodisposeoftheseoldbooks.我想处理掉这些旧书。Hehasdisposedoftherubbishproperly.他已经适当地处理了垃圾。Thenewarrangementcausedalotofillfeeling.新的安排引起了许多人的不满。Theyhaveplannedatightscheduleoftravel.他们安排了一个紧凑的旅行日程。Wefavorasportingsolutionoftheproblem.我们赞成堂堂正正解决这个问题。IttookLeibowitzfiveminutestodisposeofhim.雷保维兹只费五分钟便解决了他。四、词义辨析dealwith,copewith,disposeof,manage,handle这些动词或短语都含有“处理”,“对付”之意。dealwith既可指处理具体事情,也可指处理或解决具有抽象意义的问题。copewith指成功地处理或对付更为重大,更为严重的问题或事物。disposeof与dealwith同义,普通用法。manage指处理日常事务与工作,也可指经营管理。handle从原义“手柄”,转引申为作“处理”解时,其内涵是管理和操纵。disposeof的相关近义词reject、remove、expel、discard、eliminate、exterminate、cashier、handle、copewith、dealwith、managedisposeof的相关临近词dispose、disposedsoilanddreg、disposeoftheworkers、disposeoftherubbish、disposeoftheaquacade、disposetheslimewater、disposeofsignalnoise、disposeoftheopposition点此查看更多关于disposeof的详细信息
2023-07-18 17:53:121

C#提供自动回收内存机制,那为什么有时候还要用dispose呢

应该是回收时间上的差别吧。
2023-07-18 17:53:192

c#中close() flush() dispose()方法之间的区别

close() 关闭,具体关闭什么,要看调用的对象了,比如:关闭数据库连接,关闭tcp/udp连接等flush() socket中,清除发送缓存并发送数据dispose()释放对象
2023-07-18 17:53:282

java中System.exit(0)和Window.dispose()的区别

exit是程序结束,dispose只是窗口关闭
2023-07-18 17:53:382

java中dispose()这个函数是干什么用的

释放由此Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些Component的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。通过随后调用pack或show重新构造本机资源,可以再次显示Window及其子组件。重新创建的Window及其子组件的状态与释放Window时这些对象的状态一致(不考虑这些操作之间的其他更改)。
2023-07-18 17:53:471

当翻译为"处理,处置"时,dispose和dispose of有什么不同吗?

dispose [dI`spoz; diˋspouz]《源自古法语“分开放置”的意思》及物动词1 [为准备…而] 布署,配置 <军队、舰队> [for]~ battleships for a battle为准备战斗而配置战舰2 a. 使<人>有意<做…>,使…倾向于<做…>The chance of promotion ~d him to accept the offer.有晋升的机会使他有意接受该提议b. 使<人>有[…的]倾向,使<人>易受[…的]影响[to]His physique ~s him to backache.他的体格使他易患背痛不及物动词1 整理[…],处置,处分,收拾[of]~ of nuclear waste处理核能工业废料The property can be ~d of for a good sum.该财产处理掉能获相当的金额That ~s of the point.那样就解决了这一点2 决定事情的演变 [成败] ,处置,安排Man proposes, God ~s. (谚)谋事在人,成事在天 [尽人事,听天命]dispose of 1.sell卖掉*We have too much furniture; let"s dispose of the old chairs.我们家具太多了,把这些旧椅子卖掉吧。*He disposed of his house for100,000 yuan.他以10万人民币的价格卖掉了房子。2.get rid of;throw away 处理掉*Please dispose of the waste paper.请把这些废纸处理掉。*The doctor asked him to drink plenty of water to dispose of the sideeffects of the medicine.医生要他多喝水以去掉药物的副作用。3.eat or drink until it is finished 吃光;喝光*The children disposed of all the food their mother had prepared for them.孩子们把母亲所准备的食物都吃光了。*He disposed of 10 dishes and 5bottles of beer in a very short time.他很快就吃完了10盘菜,喝完了5瓶啤酒。4.handle;deal with;settle处理;解决*The committee disposed of all its business in an hour.委员会在一小时内就把所有事情处理完毕。*He disposed of all the difficulties and succeeded at last.他排除了所有的困难,最后终于成功了。
2023-07-18 17:54:141

每次调用是不是一定要对httpclient进行dispose

最近在测试一个第三方API,准备集成在我们的网站应用中。API的调用使用的是.NET中的HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpClient有了格外的关注。开始测试的时候,只在客户端通过HttpClient用PostAsync发了一个http post请求。测试时发现,从创建HttpClient实例,到发出请求,到读取到服务器的响应数据总耗时在2s左右,而且多次测试都是这样。2s的响应速度当然是无法让人接受的,我们希望至少控制在100ms以内。于是开始追查这个问题的原因。在API的返回数据中包含了该请求在服务端执行的耗时,这个耗时都在20ms以内,问题与服务端API无关。于是把怀疑点放到了网络延迟上,但ping服务器的响应时间都在10ms左右,网络延迟的可能性也不大。当我们正准备换一个网络环境进行测试时,突然想到,我们的测试方式有些问题。我们只通过HttpClient发了一个PostAsync请求,假如HttpClient在第一次调用时存在某种预热机制(比如在EF中就有这样的机制),现在2s的总耗时可能大多消耗在HttpClient的预热上。于是修改测试代码,将调用由1次改为100次,然后恍然大悟地发现——只有第1次是2s,接下来的99次都在100ms以内。果然是HttpClient的某种预热机制在搞鬼!既然知道了是HttpClient预热机制的原因,那我们可以帮HttpClient进行热身,减少第一次请求的耗时。我们尝试了一种预热方式,在正式发http post请求之前,先发一个http head请求,代码如下:_httpClient.SendAsync(new HttpRequestMessage { Method = new HttpMethod("HEAD"), RequestUri = new Uri(BASE_ADDRESS + "/") }) .Result.EnsureSuccessStatusCode();经测试,通过这种热身方法,可以将第一次请求的耗时由2s左右降到1s以内(测试结果是700多ms)。在知道第1次HttpClient请求耗时2s的真相之后,我们将目光转向了剩下的99次耗时100ms以内的请求,发现绝大部分请求都在50ms以上。有没有可能将之降至50ms以下?而且,之前一直有这样的纠结:每次调用是不是一定要对HttpClient进行Dispose()?是不是要将HttpClient单例或者静态化(声明为静态变量)?借此机会一起研究一下。在HttpClient的背后,有一个对请求响应速度有着不容忽视影响的东东——TCP连接。一个HttpClient实例会关联一个TCP连接,在对HttpClient进行Dispose时,会关闭TCP连接(我们用Wireshark进行网络抓包也验证了这一点)。在之前的测试中,我们每次用HttpClient发请求时,都是新建一个HttpClient实例,用完就对它进行Dispose,代码如下:using (var httpClient = new HttpClient() { BaseAddress = new Uri(BASE_ADDRESS) }){ httpClient.PostAsync("/", new FormUrlEncodedContent(parameters));}所以每次请求时都要经历新建TCP连接->传数据->关闭连接(也就是通常所说的短连接),而且雪上加霜的是请求用的是https,建立TCP连接时还需要一个基于公私钥加解密的key exchange过程:Client Hello -> Server Hello -> Certificate -> Client Key Exchange -> New Session Ticket。如果我们想将请求响应时间降至50ms以下,就必须从这个地方下手——重用TCP连接(也就是通常所说的长连接)。要实现长连接,首先需要的就是在HttpClient第1次请求后不关闭TCP连接(不调用Dispose方法);而要让后续的请求继续使用这个未关闭的TCP连接,我们必须要使用同一个HttpClient实例;而要使用同一个HttpClient实例,就得实现HttpClient的单例或者静态化。之前的3 个问题,由于要解决第1个问题,后2个问题变成了别无选择。为了实现长连接,我们将HttpClient的调用代码改为如下的样子:public class HttpClientTest{ private static readonly HttpClient _httpClient; static HttpClientTest() { _httpClient = new HttpClient() { BaseAddress = new Uri(BASE_ADDRESS) }; //帮HttpClient热身 _httpClient.SendAsync(new HttpRequestMessage { Method = new HttpMethod("HEAD"), RequestUri = new Uri(BASE_ADDRESS + "/") }) .Result.EnsureSuccessStatusCode(); } public async Task<string> PostAsync() { var response = await _httpClient.PostAsync("/", new FormUrlEncodedContent(parameters)); return await response.Content.ReadAsStringAsync(); }}然后测试一下请求响应时间:Elapsed:750ms Elapsed:31ms Elapsed:30ms Elapsed:43ms Elapsed:27ms Elapsed:29ms Elapsed:28ms Elapsed:35ms Elapsed:36ms Elapsed:31ms ....除了第1次请求,接下来的99次请求绝大多数都在50ms以内。TCP长连接的效果必须的!通过Wireshak抓包也验证了长连接的效果:Wireshak抓包这时,你也许会产生这样的疑问:将HttpClient声明为静态变量,会不会存在线程安全问题?我们当时也有这样的疑问,后来在stackoverflow上找到了答案:As per the comments below (thanks @ischell), the following instance methods are thread safe (all async):CancelPendingRequestsDeleteAsyncGetAsyncGetByteArrayAsyncGetStreamAsyncGetStringAsyncPostAsyncPutAsyncSendAsyncHttpClient的所有异步方法都是线程安全的,放心使用。到这里,HttpClient的问题是不是可以完美收官了?。。。稍等,还有一个问题。客户端虽然保持着TCP连接,但TCP连接是两口子的事,服务器端呢?你不告诉服务器,服务器怎么知道你要一直保持TCP连接呢?对于客户端,保持TCP连接的开销不大;但是对于服务器,则完全不一样的,如果默认都保持TCP连接,那可是要保持成千上万客户端的连接啊。所以,一般的Web服务器都会根据客户端的诉求来决定是否保持TCP连接,这就是keep-alive存在的理由。所以,我们还要给HttpClient增加一个Connection:keep-alive的请求头,代码如下:_httpClient.DefaultRequestHeaders.Connection.Add("keep-alive");现在终于可以收官了。但是肯定不完美,分享的只是解决问题的过程。
2023-07-18 17:54:231

disposeof的翻译是什么

disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的英英释义是Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"。disposeof的词义辨析是dealwith,copewith,disposeof,manage,handle。一、英英释义点此查看disposeof的详细内容Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"二、词典解释1.丢掉;清除;处理Ifyoudisposeofsomethingthatyounolongerwantorneed,youthrowitaway.disposeof的解释e.g.Justfoldupthenappyanddisposeofitinthenormalmanner.把尿布叠起,像平常扔东西一样扔掉即可。e.g....thesafestmeansofdisposingofnuclearwaste...处理核废料最保险的方法2.办妥;处理好;解决Ifyoudisposeofaproblem,task,orquestion,youdealwithit.e.g.Youdidusagreatfavourbydisposingofthatproblem...你解决了那个问题,可算是帮了我们一个大忙。e.g.Thejusticeshavebeenarguingabouthowthecaseshouldbedisposedof.法官们就如何处理该案一直争论不休。3.除掉;杀掉Todisposeofapersonorananimalmeanstokillthem.e.g.Heallegedthattheyhadhiredanassassintodisposeofhim.他宣称他们已雇了刺客来除掉他。三、例句Iwanttodisposeoftheseoldbooks.我想处理掉这些旧书。Hehasdisposedoftherubbishproperly.他已经适当地处理了垃圾。Thenewarrangementcausedalotofillfeeling.新的安排引起了许多人的不满。Theyhaveplannedatightscheduleoftravel.他们安排了一个紧凑的旅行日程。Wefavorasportingsolutionoftheproblem.我们赞成堂堂正正解决这个问题。IttookLeibowitzfiveminutestodisposeofhim.雷保维兹只费五分钟便解决了他。四、词义辨析dealwith,copewith,disposeof,manage,handle这些动词或短语都含有“处理”,“对付”之意。dealwith既可指处理具体事情,也可指处理或解决具有抽象意义的问题。copewith指成功地处理或对付更为重大,更为严重的问题或事物。disposeof与dealwith同义,普通用法。manage指处理日常事务与工作,也可指经营管理。handle从原义“手柄”,转引申为作“处理”解时,其内涵是管理和操纵。disposeof的相关近义词reject、remove、expel、discard、eliminate、exterminate、cashier、handle、copewith、dealwith、managedisposeof的相关临近词dispose、disposedsoilanddreg、disposeoftheworkers、disposeoftherubbish、disposeoftheaquacade、disposetheslimewater、disposeofsignalnoise、disposeoftheopposition点此查看更多关于disposeof的详细信息
2023-07-18 17:54:291

disposeof的解释是什么

disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的英英释义是Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"。disposeof的词义辨析是dealwith,copewith,disposeof,manage,handle。一、参考翻译点此查看disposeof的详细内容处置,处理,安排,除掉,解决,卖掉,干掉二、英英释义Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"三、例句Iwanttodisposeoftheseoldbooks.我想处理掉这些旧书。Hehasdisposedoftherubbishproperly.他已经适当地处理了垃圾。Thenewarrangementcausedalotofillfeeling.新的安排引起了许多人的不满。Theyhaveplannedatightscheduleoftravel.他们安排了一个紧凑的旅行日程。Wefavorasportingsolutionoftheproblem.我们赞成堂堂正正解决这个问题。IttookLeibowitzfiveminutestodisposeofhim.雷保维兹只费五分钟便解决了他。四、词义辨析dealwith,copewith,disposeof,manage,handle这些动词或短语都含有“处理”,“对付”之意。dealwith既可指处理具体事情,也可指处理或解决具有抽象意义的问题。copewith指成功地处理或对付更为重大,更为严重的问题或事物。disposeof与dealwith同义,普通用法。manage指处理日常事务与工作,也可指经营管理。handle从原义“手柄”,转引申为作“处理”解时,其内涵是管理和操纵。disposeof的相关近义词reject、remove、expel、discard、eliminate、exterminate、cashier、handle、copewith、dealwith、managedisposeof的相关临近词dispose、disposedsoilanddreg、disposeoftheworkers、disposeoftherubbish、disposeoftheaquacade、disposetheslimewater、disposeofsignalnoise、disposeoftheopposition点此查看更多关于disposeof的详细信息
2023-07-18 17:54:361

disposeof的意思disposeof的意思是什么

disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的意思是:处理;转让;解决;吃光;除掉;卖掉。disposeof的英英释义是Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"。disposeof的词义辨析是dealwith,copewith,disposeof,manage,handle。一、英英释义点此查看disposeof的详细内容Verb:dealwithorsettle;"Hedisposedofthesecasesquickly"二、网络解释1.除掉;干掉;卖掉:disguise...as把...假扮成;使...假装|disposeof除掉;干掉;卖掉|doagoodjob好好干;干得好2.处理:disposefor使倾向于|disposeof处理|dispositionn.气质三、例句Iwanttodisposeoftheseoldbooks.我想处理掉这些旧书。Hehasdisposedoftherubbishproperly.他已经适当地处理了垃圾。Thenewarrangementcausedalotofillfeeling.新的安排引起了许多人的不满。Theyhaveplannedatightscheduleoftravel.他们安排了一个紧凑的旅行日程。Wefavorasportingsolutionoftheproblem.我们赞成堂堂正正解决这个问题。IttookLeibowitzfiveminutestodisposeofhim.雷保维兹只费五分钟便解决了他。四、词义辨析dealwith,copewith,disposeof,manage,handle这些动词或短语都含有“处理”,“对付”之意。dealwith既可指处理具体事情,也可指处理或解决具有抽象意义的问题。copewith指成功地处理或对付更为重大,更为严重的问题或事物。disposeof与dealwith同义,普通用法。manage指处理日常事务与工作,也可指经营管理。handle从原义“手柄”,转引申为作“处理”解时,其内涵是管理和操纵。disposeof的相关近义词reject、remove、expel、discard、eliminate、exterminate、cashier、handle、copewith、dealwith、managedisposeof的相关临近词dispose、disposedsoilanddreg、disposeoftheworkers、disposeoftherubbish、disposeoftheaquacade、disposetheslimewater、disposeofsignalnoise、disposeoftheopposition点此查看更多关于disposeof的详细信息
2023-07-18 17:54:431

cmd.Dispose()是什么意思

.Dispose 处理
2023-07-18 17:54:521