воскресенье, 7 апреля 2019 г.

C#

Начал изучать C#, и чтобы было интереснее, взялся за одну небольшую утилиту из Фронтола.

Очень непривычно:
- у функций нет Result
- Все обращения к функциям - только со скобками
- все значения типов - с префиксом класса
- нельзя объявить массив с адресацией кроме как по целому идентификатору, как в Pascal:
const 
  StrArr: array [boolean] of string = ('неправильно', 'правильно');

- в case нельзя оперировать диапазонами как в Pascal:
    case AStr[i] of
    '0'..'9': Result := Result + (ord(AStr[i]) - ord('0')) shl sl;
    'A'..'F': Result := Result + (ord(AStr[i]) - ord('A') + 10) shl sl;
    'a'..'f': Result := Result + (ord(AStr[i]) - ord('a') + 10) shl sl;
    else
      Abort;
    end;
- непонятно почему если в решении есть библиотека и приложение, после запуска приложения из под отладки, активным проектом каждый раз становится библиотека.
- удивительно, что VS 2017 не удаляет пробелы в конце строки. Может, для этого есть какая-то настройка, но мне пока её обнаружить не удалось


Что понравилось:
- невизуальные компоненты на форме - диалог, таймер - они отображаются на панели отдельно
- можно скопировать часть текста из результатов поиска по решению