0

使用 Using 语句和 {} 范围修饰符时,如何获取它之外的值?这感觉就像过程代码中的匿名函数,但事实并非如此。

using (SqlConnection m_DBCon = new Something())
{
    int x = 1;
}

{
    int y = 3;
}

x; // not found
y; // not found
4

4 回答 4

7

在 using 块之前声明你需要的变量,然后在里面赋值。

int x;

using (SqlConnection m_DBCon = new Something())
{
    x = 1;
}

// x == 1
于 2013-01-24T15:00:48.400 回答
3

你会使用:

int x, y;
using (SqlConnection m_DBCon = new Something())
{
    x = 1;
}

{
    y = 3;
}

// x = 1, y = 3
于 2013-01-24T15:00:48.557 回答
1

只需在 using 块之前声明变量,然后在内部访问它们。

int x;
int y;
using (SqlConnection m_DBCon = new Something())
{
    x = 1;
}

{
    y = 3;
}

x; 
y;
于 2013-01-24T15:00:57.347 回答
0

只需更改变量的范围。(并且可能也初始化它们。)

int x = 0;
int y = 0;
using (SqlConnection m_DBCon = new Something())
{
    x = 1;
}
{
    y = 3;
}
于 2013-01-24T15:04:29.610 回答