1. Как мы можем настроить класс для наследования, но предотвратить переопределение метода? Ответ: Используйте запечатанное ключевое слово.
  2. Что такое сериализация? Ответ: Сериализация — это процесс преобразования объекта в поток байтов для сохранения объекта или его передачи в память, базу данных или файл. Его основная цель — сохранить состояние объекта, чтобы иметь возможность воссоздать его при необходимости. Обратный процесс называется десериализацией.
  3. В чем разница между константами и только для чтения? Ответ: разница между const и readonly
  • Константные поля должны быть инициализированы только при объявлении, тогда как поля только для чтения могут быть инициализированы при объявлении или в конструкторе.
  • Константные переменные могут быть объявлены в методах, в то время как поля только для чтения не могут быть объявлены в методах.
  • Поля const нельзя использовать со статическим модификатором, а поля только для чтения можно использовать со статическим модификатором.
  • Поле const является константой времени компиляции, поле только для чтения может использоваться для констант времени выполнения.

4. В чем разница между переопределением метода и перегрузкой метода? Ответ: Перегрузка

Перегрузка — это когда у вас есть несколько методов в одной области видимости с одинаковым именем, но разными сигнатурами.

//Overloading
public class test
{
    public void getStuff(int id)
    {}
    public void getStuff(string name)
    {}
}

Переопределение

Переопределение — это принцип, позволяющий изменить функциональность метода в дочернем классе.

//Overriding
public class test
{
        public virtual void getStuff(int id)
        {
            //Get stuff default location
        }
}
public class test2 : test
{
        public override void getStuff(int id)
        {
            //base.getStuff(id);
            //or - Get stuff new location
        }
}

5. Обсудите то, что вы узнали на этой неделе, как будто кто-то только что спросил вас. Ответ: В настоящее время я изучаю SQL, а также LINQ. Я всегда хотел дойти до присоединения баз данных к своим программам, поэтому я очень взволнован этим.

6. Что произойдет, если унаследованные интерфейсы имеют конфликтующие имена методов? Ответ: вы получаете ошибку компилятора, которую можно исправить, явно указав, какой метод интерфейса вам нужен, например i1.print();

7. Что такое индексаторы в C# .NET? Ответ: Индексатор позволяет использовать классы более интуитивно. C# представляет новую концепцию, известную как индексаторы, которая позволяет использовать классы или структуры в качестве массивов. Индексаторы обычно известны как смарт-массивы в C#. Индексатор или индексированное свойство — это свойство класса, которое позволяет вам получить доступ к переменной-члену класса или структуры, используя функции массива.