问题标签 [using-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
24772 浏览

c# - 在 SQLDataReader 上使用

我知道我之前问过一个相关的问题。我只是有了另一个想法。

论点是:由于SqlDataReader dr对象不是像连接或命令对象那样的新对象,它只是指向cmd.ExecuteReader()方法的引用,我是否需要将阅读器放在using. (现在根据我以前的帖子,我的理解是任何使用的对象都IDisposable需要放在 a 中using,并且SQLDataReader继承自IDisposable,所以我需要把它放在。我的判断是否正确?)我只是很困惑,因为它不是一个新对象,在处理一个只是指向命令的引用指针的对象时会导致任何问题吗?

非常感谢

0 投票
1 回答
1109 浏览

active-directory - 对目录服务使用语句

您能否帮助我并告诉我是否在我的目录服务函数中正确使用了“使用语句”,该函数从我的 Active Directory 中获取了专有名称。我想正确处理和关闭对象。

代码:

0 投票
3 回答
4271 浏览

c# - 如何在 C# 中调用 Web 服务方法

我想知道如何安全地调用 WCF Web 服务方法。这两种方法都可接受/等效吗?有没有更好的办法?

第一种方式:

第二种方式:

我想确保客户端已正确关闭和处置。

谢谢

0 投票
8 回答
15575 浏览

c# - 可以在没有花括号的情况下编写 C# using 语句吗?

我今天在浏览同事的 c# 代码,发现以下内容:

我总是看到using语句后面跟着一对定义对象生命范围的花括号。编写代码的同事说,语句的花括号data1 using不需要,并且代码的作用与它们存在并嵌套data2 using语句一样。那么,省略大括号时会发生什么?

0 投票
7 回答
3181 浏览

c# - using关键字和IDisposable接口有什么关系?

如果我使用using关键字,我还需要实现IDisposable吗?

0 投票
8 回答
3192 浏览

c# - 使用 C# 中的 [using] 语句或 [dispose] 方法更好吗?这是否适用于外部(COM)对象?

用完一个对象后,使用指令或处置指令哪个更好?

另一方面,当我处理 System.Net.Mail 时,我被告知我需要 Dispose() 对象来释放任何杂散锁。

有没有一致的指导?我如何判断在给定情况下对于给定对象什么更合适?

0 投票
7 回答
546 浏览

c# - using 语句可以用花括号代替吗?

我将 using 语句用于SqlConnection. 这对性能有好处,因为强制调用 Dispose() 只会更快地释放与池的连接。

但是,我意识到在 using 中创建的对象无法重新定义。我不能这样做:

我想知道是否可以替换使用,并执行以下操作:

在最后一个大括号之后将SqlConnection无法访问。}当对象超出范围时会立即调用 Dispose() 吗?

0 投票
1 回答
364 浏览

garbage-collection - 在 GC 语言中是否有关于(或更好地使用)RAII 的研究?

注意:对象生命周期 RAII 不使用/与块范围 RAII

似乎可以使用额外的 gc 类别、短期对象(经常检查 gc 类别)、长期对象(不经常检查 gc 类别)和资源对象(非常频繁地检查 gc 类别)。或者可能为资源对象使用额外的引用计数 gc。

似乎 using/with 风格可以通过提升 I/O 的功能性风格(如果我错了,这不是功能性风格,请原谅我)阻止大量 I/O 分散在这个地方与基于对象的 RAII 的灵活性(因为它更容易)。但是有些问题可能需要很难跟踪资源的生命周期。

除了避免 gc 的复杂性和速度之外,还有其他原因没有在主流语言上完成吗?(我知道有些语言在其主要实现中使用引用计数作为 gc 的一部分,因此,RAII 可能在那里工作,但我相信他们的规范没有为某些类型的对象/或所有对象指定引用计数,并且人们使用的其他实现没有引用计数,从而限制了这些语言中对象生命周期 RAII 的使用。

PS:他们在 perl 中有 c++ 类型的 RAII 吗?

0 投票
5 回答
2003 浏览

c# - 使用语句的格式/缩进 (C#)

对于C# 中的语句(不要与导入命名空间的指令using混淆),如果没有使用大括号,Visual Studio 不会缩进后面的单行代码。这是典型的“嵌套”使用语句,如这个 SO question中所示。using

我发现后面using的语句没有缩进令人困惑,这与if语句的格式不同:

有什么理由缩进,还是只是偏好?

编辑:

进一步的测试表明我对某些 VS 格式化行为是不正确的。如果您键入 using 语句:

...然后按 Enter,光标将与using. 如果下一行也是 using 语句,则继续对齐。如果不是,VS 将在完成时缩进它。因此,我最初的问题有些无效,因为我的第一个示例实际上无法实现,除非您覆盖默认格式或使用不这样做的 IDE。

尽管如此,值得知道的using是,最好将多个语句视为一个块,因为它们在技术上是。仅当语句是using没有大括号的连续语句时,没有缩进才适用;随着人们习惯了它,它们看起来不再那么不寻常了。

一如既往地感谢所有在这些次要编程细节方面提供洞察力和经验的人。

0 投票
5 回答
141 浏览

c++ - using 声明的一致使用有多重要?

我对 using 声明的使用所做的大部分研究,包括阅读各种样式指南的相关部分,都表明是否在 C++ 源文件中使用 using 声明,只要它们出现在所有#includes 之后,就是一个决定权留给编码员。即使是我阅读的风格指南,为了保持一致性,通常会出现在此类常见争议的一侧或另一侧,在这方面也相当灵活。

我的问题是,鉴于这种高度的灵活性,使用一致的风格有多重要?例如,假设作者写了类似

在 std::vector 上使用而不是在 std::cout 或 std::endl 上使用的不一致应用程序通常被认为是可以接受的,还是会被认为是无纪律的?