Какие типы можно использовать в предложении foreach?
Можно использовать типы, которые реализуют интерфейс IEnumerable или IEnumerable<T>. Либо же к любым типам которые удовлетворяют следующим условиям:
• Включают открытый метод GetEnumerator без параметров с классом, структурой или тип интерфейсом в качестве возвращаемого значения; • Тип возвращаемого значения метода GetEnumerator должен содержать открытое свойство Current и открытый метод MoveNext без параметров с типом возвращаемого значения Boolean.
Какая разница между классами System.String и System.Text.StringBuilder?
Данные, хранящиеся в классе System.String и есть неизменяемые (immutable). Класс System.StringBuilder разрабатывался так, чтобы над изменяемой строкой можно было проделать множество операций. То есть при каждой операции над объектом класса System.String происходит перенос данных в новую область памяти, что влияет на производительность программы.
Какой уровень доступа имеют поля класса, если модификатор доступа не указан?
Если не указывать модификатор доступа для поля класса, то по умолчанию они объявляются с модификатором private. Для всех модификаторов доступа действует правило: если не указан модификатор, то устанавливается максимально строгий, при котором код будет компилироваться.
Что будет выведено на консоль в результате выполнения следующей программы и почему?
При выполнении программа сгенерирует исключение System.NullReferenceException, потому что поскольку переменная tom НЕ представляет объект Employee, то преобразование tom as Employee возвратит null.
1. Создаем строку str, которую нужно проанализировать. 2. Применяем метод Distinct() для получения уникальных символов в строке. 3. Вызываем метод Count() для получения количества элементов в последовательности уникальных символов. 4. Добавляем параметр char.IsLetter, чтобы учитывать только буквы алфавита.