Почему нету потери имен при компиляции C# приложения?

Узнай цену своей работы

Формулировка задачи:

Собственно, вопрос. Есть исходник, скомпилировали, декомпилировали - все имена, названия перменных и тд сохранились.... Зачем это нужно, умышленная потеря безопасности или в этом есть сакральный смысл? Почему компилятор C# берет именно названия переменных и их, и использует в IL? Неужели нельзя сделать так, чтобы он подтирал не нужную информацию (да и оптимизация своего рода получится) о том, как названа переменная (ведь по сути это и не важно, да хоть lsjfoISDJFejls будет называться), без применения обфускатора? Ведь получается, что если и используются эти имена, то производительность вот такой штуки:
while(My_very_long_name_for_function_what_return_some_value_for_while_in_my_application1())
{
     dosomething();
}
while(My_very_long_name_for_function_what_return_some_value_for_while_in_my_application2())
{
     dosomething();dosomething();dosomething();
}
будет меньше, вот такой:
while(f1())
{
     dosomething();
}
while(f2())
{
     dosomething();dosomething();dosomething();
}
,а если не используется....то зачем тогда сохранять оригинальное имя, если в процессе работы программы оно не будет использоваться? (память то лишняя ладно, но безопасность то страдает)

Решение задачи: «Почему нету потери имен при компиляции C# приложения?»

textual
Листинг программы
Foo(10, "Hello");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы