次のようなローカル変数のない単純なメソッドの場合
public static int Test1(short i, long j)
{
j = i + j;
switch (j)
{
case 1:
j = 2;
break;
default:
j = 11;
break;
}
return j;
}
MethodInfo.GetMethodBody().LocalVariables.Count = 2 のカウント なぜ? 別の switch ステートメントを追加すると、カウントが 3 になります なぜ?
public static int Test1(short i, long j)
{
j = i + j;
switch (j)
{
case 1:
j = 2;
break;
default:
j = 11;
break;
}
switch (i)
{
case 1:
j = 2;
break;
default:
j = 11;
break;
}
return j;
}
ローカル変数は定義されていません。では、なぜ 2 と 3 なのか。また、j を指定した別の switch ステートメントがカウントを 2 に保つ場合。