Re: отличие boxing-unboxing от ref
От: Аноним  
Дата: 24.10.05 07:33
Оценка:
2 TK
Действительно, Вы правы

Прошу прощения за то, что пытался морочить голову

Вот тест:

class Program
{
static void Main( string[] args )
{
int a = 10;
Func( a );
Func( ref a );
}
static void Func( ref int a )
{
Console.Write( a );
}
static void Func( object a )
{
Console.Write( a );
}
}

А вот IL для функции Main:
IL_0000: nop
IL_0001: ldc.i4.s 10
IL_0003: stloc.0
IL_0004: ldloc.0
// Здесь есть
IL_0005: box [mscorlib]System.Int32
IL_000a: call void ConsoleApplication1.Program::Func(object)
IL_000f: nop
IL_0010: ldloca.s a
// Здесь нет
IL_0012: call void ConsoleApplication1.Program::Func(int32&)
IL_0017: nop
IL_0018: ret

Ещё раз извиняюсь
SUNETA


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.