草庐IT

uses_votes

全部标签

c# - 未使用的 using 指令如何影响性能?

每当您创建新页面或项目时,VisualStudio都会自动为您创建using语句。其中一些您永远不会使用。VisualStudio具有“删除未使用的使用”的有用功能。我想知道如果从未访问过的using语句仍然在文件顶部提及,是否会对程序性能产生任何负面影响。 最佳答案 未使用的using不会影响应用程序的运行时性能。它会影响IDE的性能和整个编译阶段。原因是它创建了一个必须在其中进行名称解析的附加命名空间。然而,这些往往是次要的,在大多数情况下不会对您的IDE体验产生明显影响。出于同样的原因,它还会影响调试器中计算表达式的性能。

c# - 未使用的 using 指令如何影响性能?

每当您创建新页面或项目时,VisualStudio都会自动为您创建using语句。其中一些您永远不会使用。VisualStudio具有“删除未使用的使用”的有用功能。我想知道如果从未访问过的using语句仍然在文件顶部提及,是否会对程序性能产生任何负面影响。 最佳答案 未使用的using不会影响应用程序的运行时性能。它会影响IDE的性能和整个编译阶段。原因是它创建了一个必须在其中进行名称解析的附加命名空间。然而,这些往往是次要的,在大多数情况下不会对您的IDE体验产生明显影响。出于同样的原因,它还会影响调试器中计算表达式的性能。

c# - 使用 IDisposable 和 "using"作为获取 "scoped behavior"以实现异常安全的手段是否滥用?

我在C++中经常使用的东西是让一个类A处理另一个类的状态进入和退出条件B,通过A构造函数和析构函数,以确保如果该范围内的某些内容引发异常,则B在退出范围时将具有已知状态。就首字母缩略词而言,这不是纯粹的RAII,但它仍然是一种既定的模式。在C#中,我经常想做classFrobbleManager{...privatevoidFiddleTheFrobble(){this.Frobble.Unlock();Foo();//Canthrowthis.Frobble.Fiddle();//CanthrowBar();//Canthrowthis.Frobble.Lock();}}需要这样做p

c# - 使用 IDisposable 和 "using"作为获取 "scoped behavior"以实现异常安全的手段是否滥用?

我在C++中经常使用的东西是让一个类A处理另一个类的状态进入和退出条件B,通过A构造函数和析构函数,以确保如果该范围内的某些内容引发异常,则B在退出范围时将具有已知状态。就首字母缩略词而言,这不是纯粹的RAII,但它仍然是一种既定的模式。在C#中,我经常想做classFrobbleManager{...privatevoidFiddleTheFrobble(){this.Frobble.Unlock();Foo();//Canthrowthis.Frobble.Fiddle();//CanthrowBar();//Canthrowthis.Frobble.Lock();}}需要这样做p

c# - 在 C# 中抑制 "is never used"和 "is never assigned to"警告

我在C#项目中有一个HTTPSystemDefinitions.cs文件,它基本上描述了托管代码使用的旧WindowsISAPI。这包括与ISAPI相关的完整结构集,但并非全部或由代码使用。在编译时,这些结构的所有字段成员都会引发如下警告:-WarningField'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.SetHeader'isneverassignedto,andwillalwayshaveitsdefaultvaluenull或WarningThefield'UnionSquare.ISAPI.HTTP_FILTER_PREPR

c# - 在 C# 中抑制 "is never used"和 "is never assigned to"警告

我在C#项目中有一个HTTPSystemDefinitions.cs文件,它基本上描述了托管代码使用的旧WindowsISAPI。这包括与ISAPI相关的完整结构集,但并非全部或由代码使用。在编译时,这些结构的所有字段成员都会引发如下警告:-WarningField'UnionSquare.ISAPI.HTTP_FILTER_PREPROC_HEADERS.SetHeader'isneverassignedto,andwillalwayshaveitsdefaultvaluenull或WarningThefield'UnionSquare.ISAPI.HTTP_FILTER_PREPR

c# - 具有多个资源的 "using"会导致资源泄漏吗?

C#允许我执行以下操作(来自MSDN的示例):using(Fontfont3=newFont("Arial",10.0f),font4=newFont("Arial",10.0f)){//Usefont3andfont4.}如果font4=newFont抛出会发生什么?据我了解,font3会泄漏资源并且不会被处理掉。这是真的吗?(font4不会被丢弃)这是否意味着应该完全避免using(...,...)以支持嵌套使用? 最佳答案 没有。编译器将为每个变量生成一个单独的finallyblock。spec(§8.13)说:Whenare

c# - 具有多个资源的 "using"会导致资源泄漏吗?

C#允许我执行以下操作(来自MSDN的示例):using(Fontfont3=newFont("Arial",10.0f),font4=newFont("Arial",10.0f)){//Usefont3andfont4.}如果font4=newFont抛出会发生什么?据我了解,font3会泄漏资源并且不会被处理掉。这是真的吗?(font4不会被丢弃)这是否意味着应该完全避免using(...,...)以支持嵌套使用? 最佳答案 没有。编译器将为每个变量生成一个单独的finallyblock。spec(§8.13)说:Whenare

c# - 解决 "The ObjectContext instance has been disposed and can no longer be used for operations that require a connection"InvalidOperationException

我正在尝试使用EntityFrameworkm填充GridView,但每次我都会收到以下错误:"Propertyaccessor'LoanProduct'onobject'COSIS_DAL.MemberLoan'threwthefollowingexception:TheObjectContextinstancehasbeendisposedandcannolongerbeusedforoperationsthatrequireaconnection."我的代码是:publicListGetAllMembersForLoan(stringkeyword){using(CosisEnt

c# - 解决 "The ObjectContext instance has been disposed and can no longer be used for operations that require a connection"InvalidOperationException

我正在尝试使用EntityFrameworkm填充GridView,但每次我都会收到以下错误:"Propertyaccessor'LoanProduct'onobject'COSIS_DAL.MemberLoan'threwthefollowingexception:TheObjectContextinstancehasbeendisposedandcannolongerbeusedforoperationsthatrequireaconnection."我的代码是:publicListGetAllMembersForLoan(stringkeyword){using(CosisEnt