我知道什么是 var(anonymous) 关键字,以及如何使用以及我们主要使用这个关键字的地方(LINQ - 否则我们不知道我们可以使用 var 关键字的地方的函数的确切返回值)。
我知道这两行没有区别,我怀疑 var 关键字解决了内存泄漏问题?
例如 :
C# :
Window window=new Window();
var window=new Window();
我知道什么是 var(anonymous) 关键字,以及如何使用以及我们主要使用这个关键字的地方(LINQ - 否则我们不知道我们可以使用 var 关键字的地方的函数的确切返回值)。
我知道这两行没有区别,我怀疑 var 关键字解决了内存泄漏问题?
例如 :
C# :
Window window=new Window();
var window=new Window();
首先,不是var
匿名关键字。您的代码中没有显示任何匿名内容。其次,如果您“知道这两行之间没有区别”,您为什么会怀疑它会改变内存泄漏的任何内容?不:它没有。不,首先这里可能没有“内存泄漏”。
检查是否Window
执行IDisposable
。如果是这样,并且如果您的使用window
仅限于本地范围,则使用using
(这将有助于确保及时释放任何资源,而不是等待垃圾收集器):
using(var window=new Window()) {
// NOT SHOWN: configure it, display it (modally), read the final values, etc
}
在上面,纯粹var
是为了避免我需要在一行中键入三次“window”。
该var
关键字可以与匿名类型一起使用,并且可以用于类型推断(变量的类型可以由编译器推断)。这两行编译成完全相同的 IL 代码:
Window window=new Window();
var window=new Window();
我不清楚您指的是什么内存泄漏问题,但是如果没有另一个也这样做,一个就不会导致内存泄漏。