C# как предотвратить автоувеличение переменной?
От: Mrpike  
Дата: 01.11.03 23:10
Оценка:
Есть конструкция
if ( rawCaption[nPos+1] == '#')

в il-е она выглядит как

    IL_0020:  ldarg.0
    IL_0021:  ldloc.0
    IL_0022:  ldc.i4.1
    IL_0023:  add
    IL_0024:  callvirt   instance char [mscorlib]System.String::get_Chars(int32)
    IL_0029:  ldc.i4.s   35
    IL_002b:  bne.un.s   IL_0045


Вопрос номер раз: почему произощло автоувеличение размерной переменной?
2: как я могу продотвратить подобный произвол компилятора?

Заранее спасибо.


P.s. Есть предположение, что компилятор сначала вычислил значение переменной, а потом сделал копию для функции, но тогда остается в силе 2й вопрос..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.