0

Using ステートメントと {} Scope 修飾子を使用する場合、その外側の値をどのように取得しますか? これは、手続き型コードの無名関数のように感じますが、そうではありません。

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 に答える