C#:特定于范围的变量绑定(bind)

标签 c# binding variables scope

在某些语言中,有这样的东西:

口齿不清:

(let ((x 3))
  (do-something-with x))

JavaScript:

let (x = 3) {
  doSomethingWith(x);
}

C#中有这样的东西吗?

最佳答案

您可以使用大括号限制值类型变量的范围。

{
    var x = 3;
    doSomethingWith(x);
}
generateCompilerError(x);

最后一行将生成编译器错误,因为不再定义 x

这也适用于对象类型,但不能保证对象在超出范围后何时被释放。要确保及时处置实现了 IDisposable 的对象类型,请使用 using:

using (var x = new YourObject())
{
    doSomethingWith(x);
}
generateCompilerError(x);

关于C#:特定于范围的变量绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509005/

相关文章:

c# - 绑定(bind)到资源 key ,WPF

objective-c - NSUserDefaults 和绑定(bind)

c# - 如何在控件获得焦点时不断显示工具提示?

java - 如何创建一个由用户输入定义长度的静态数组?

javascript - 从 javascript Ext.form.FormPanel 获取值并设置为变量

c# - 更改 LINQ 对象数据上下文

c# - PushSharp :Android GCM Push Notification received without push message

c# - 如何使日期时间选择器始终包含月份的最后一天,同时仅显示月份和年份?

ruby - 如何避免类和全局变量

c# - 如何在 C# 中创建红外滤镜效果