Вопрос-ответ C#

Уважаемые читатели, эти вопросы интервью C# были разработаны специально, чтобы познакомить вас с характером вопросов, которые вы можете столкнуться во время вашего интервью по C# . По моему опыту хорошие интервьюеры вряд ли планируют задавать какой-либо конкретный вопрос во время вашего интервью, обычно вопросы начинаются с некоторой базовой концепции предмета, а затем они продолжают основываться на дальнейшем обсуждении и том, что вы отвечаете

Что такое C#?

C# — это современный, универсальный, объектно-ориентированный язык программирования, разработанный корпорацией Майкрософт. C# предназначен для инфраструктуры общего языка (CLI), которая состоит из исполняемого кода и среды выполнения, что позволяет использовать различные языки высокого уровня на различных компьютерных платформах и архитектурах.

Что такое Jagged Array в C#?

Зубчатый массив — это массив массивов.

Вы можете инициализировать зубчатый массив как −

Где scores-это массив из двух массивов целых чисел-scores[0] — это массив из 3 целых чисел, а scores[1] — это массив из 4 целых чисел.

Сколькими способами можно передать параметры в метод?

Существует три способа передачи параметров в метод −

  • Value parameters — этот метод копирует фактическое значение аргумента в формальный параметр функции. В этом случае изменения, внесенные в параметр внутри функции, не влияют на аргумент.
  • Ссылочные параметры-этот метод копирует ссылку на расположение в памяти аргумента в формальный параметр. Это означает, что изменения, внесенные в параметр, влияют на аргумент.
  • Выходные параметры-этот метод помогает возвращать более одного значения.

Можно ли возвращать несколько значений из функции в C#?

— Да! Использование выходных параметров. Оператор return можно использовать для возврата только одного значения из функции. Однако с помощью выходных параметров можно возвращать из функции два значения.

В чем разница между параметрами ref и out?

Выходные параметры аналогичны ссылочным параметрам, за исключением того, что они передают данные из метода, а не в него. Параметр Reference копирует ссылку на расположение в памяти аргумента в формальный параметр. Это означает, что изменения, внесенные в параметр, влияют на аргумент.

Что такое пространство имен в C#?

Пространство имен предназначено для обеспечения способа хранения одного набора имен отдельно от другого. Имена классов, объявленные в одном пространстве имен, не конфликтуют с теми же именами классов, объявленными в другом пространстве имен.

Какова цель использования оператора в C#?

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

Что такое типы значений в C#?

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

Типы значений непосредственно содержат данные. Некоторые примеры-это int, char и float, в которых хранятся числа, алфавиты и числа с плавающей точкой соответственно. При объявлении типа int система выделяет память для хранения значения.

Что такое ссылочные типы В C# ?

Ссылочные типы не содержат фактических данных, хранящихся в переменной, но они содержат ссылку на переменные.

Другими словами, они относятся к области памяти. С помощью нескольких переменных ссылочные типы могут ссылаться на расположение в памяти. Если данные в ячейке памяти изменяются одной из переменных, другая переменная автоматически отражает это изменение значения. Примером встроенных ссылочных типов являются: object, dynamic и string.

Какой класс выступает в качестве базового класса для всех типов данных в .net?

Тип объекта является конечным базовым классом для всех типов данных в системе общих типов C# (CTS). Объект-это псевдоним для System.Класс объекта. Типам объектов могут быть присвоены значения любых других типов, типов значений, ссылочных типов, предопределенных или определенных пользователем типов. Однако перед назначением значений ему требуется преобразование типов.

Что такое box в C#?

Когда тип значения преобразуется в тип объекта, он называется box.

Что такое unbox в C#?

Когда тип объекта преобразуется в тип значения, он называется распаковкой.

Что такое переменные динамического типа В C#

В переменной типа динамических данных можно хранить значения любого типа. Проверка типов для этих типов переменных выполняется во время выполнения.

Синтаксис для объявления динамического типа является −

Например,

В чем разница между переменными динамического типа и переменными объектного типа?

Динамические типы аналогичны типам объектов, за исключением того, что проверка типа для переменных типа объекта выполняется во время компиляции, а для переменных динамического типа-во время выполнения.

Что такое типы указателей в C#?

Переменные типа указателя хранят адрес памяти другого типа. Указатели в C# имеют те же возможности, что и указатели в C или c++.

Синтаксис для объявления типа указателя −

Например

Какова цель оператора is В C#?

оператор is определяет, является ли объект определенного типа.

if (Ford is Car) // проверяет, является ли Ford объектом класса автомобилей.

Какова цель оператора as в C#?

as оператор приводит без создания исключения, если приведение завершается неудачей.

Что такое инкапсуляция?

Инкапсуляция определяется «как процесс включения одного или нескольких элементов в физический или логический пакет». Инкапсуляция в методологии объектно-ориентированного программирования предотвращает доступ к деталям реализации.

Как инкапсуляция реализуется в C#?

Инкапсуляция реализуется с помощью спецификаторов доступа.

Какова цель спецификатора доступа в C#?

Спецификатор доступа определяет область и видимость члена класса.

Что такое область видимости public переменной-члена класса C#?

Описатель public доступа позволяет классу предоставлять свои переменные-члены и функции-члены другим функциям и объектам. Любой открытый член может быть доступен из-за пределов класса.

Что такое область видимости private переменной-члена класса C#?

Описатель private доступа позволяет классу скрывать свои переменные-члены и функции-члены от других функций и объектов. Только функции одного класса могут получить доступ к его закрытым членам. Даже экземпляр класса не может получить доступ к своим закрытым членам.

Что такое область действия protected переменной-члена класса C#?

Описатель protected доступа позволяет дочернему классу получить доступ к переменным-членам и функциям-членам его базового класса. Таким образом, это помогает в реализации наследования.

Какова область действия Internal переменной-члена класса C#?

Описатель Internal доступа позволяет классу предоставлять свои переменные-члены и функции-члены другим функциям и объектам в текущей сборке. Другими словами, любой элемент с описателем внутреннего доступа может быть доступен из любого класса или метода, определенного в приложении, в котором этот элемент определен.

Какова область действия protected internal переменной-члена класса C#?

Описатель protected internal доступа позволяет классу скрывать свои переменные-члены и функции-члены от других объектов и функций класса, за исключением дочернего класса в том же приложении. Это также используется при реализации наследования.

Что такое nullable тип в C#?

C# предоставляет специальные типы данных, nullable типы, которым можно назначить нормальный диапазон значений, а также нулевые значения.

Например, можно хранить любое значение от -2,147,483,648 до 2,147,483,647 или null в переменной Nullable<Int32>. Аналогично, вы можете назначить true, false или null в переменной nullable<bool>.

Что такое использование оператора Null Coalescing Operator (??) в C#?

Оператор коалесценции null используется с типами значений nullable и ссылочными типами. Он используется для преобразования операнда в тип другого операнда типа значений nullable (или not), где возможно неявное преобразование.

Если значение первого операнда равно null, то оператор возвращает значение второго операнда, в противном случае он возвращает значение первого операнда.

Можно ли создать функцию в C#, которая может принимать различное число аргументов?

С помощью ключевого слова params можно указать параметр метода, который принимает переменное число аргументов или даже не аргумент.

Можно ли передать дополнительный тип параметров после использования параметров params в определении функции?

— Нет! дополнительные параметры не допускаются после ключевого слова params в объявлении метода. В объявлении метода допускается только одно ключевое слово params.

Какой класс выступает в качестве базового класса для всех массивов в C#?

Класс массива является базовым классом для всех массивов в C#. Он определяется в системном пространстве имен. Класс Array предоставляет различные свойства и методы для работы с массивами.

Как отсортировать массив в C#?

Использование Массива.функция сортировки (массива). Он сортирует элементы во всем одномерном массиве, используя IComparable реализацию каждого элемента массива.

Как отсортировать массив в C# в порядке убывания?

Сначала отсортируйте массив с помощью Array.sort(массив) затем реверсировать то же самое с помощью Array.reverse (массив) метод.

Что такое структура в C#?

В языке C# структура — это тип данных типа значения. Это поможет вам сделать одну переменную содержать связанные данные различных типов данных. Ключевое слово struct используется для создания структуры.

Структуры используются для представления записи. Чтобы определить структуру,необходимо использовать инструкцию struct. Оператор struct определяет новый тип данных, содержащий более одного элемента для вашей программы.Каковы различия между классом и структурой

Классы и структуры имеют следующие основные отличия −

  • классы являются ссылочными типами, а структуры-типами значений.
  • структуры не поддерживают наследование.
  • структуры не могут иметь конструктор по умолчанию.

Что такое перечисление в C#?

Перечисление-это набор именованных целочисленных констант. Перечисляемый тип объявляется с помощью ключевого слова enum.

Перечисления C# — это тип данных value. Другими словами, перечисление содержит свои собственные значения и не может наследовать или передавать наследование.

Что такое доступ по умолчанию для класса?

Спецификатор доступа по умолчанию для типа класса является internal.

Что такое доступ по умолчанию для члена класса?

Доступ по умолчанию для участников является private.

Что такое наследование?

Одним из наиболее важных понятий в объектно-ориентированном программировании является наследование. Наследование позволяет нам определить класс в терминах другого класса, что облегчает создание и обслуживание приложения. Это также дает возможность повторно использовать функциональные возможности кода и ускоряет время реализации.

При создании класса вместо записи полностью новых членов данных и функций-членов программист может указать, что новый класс должен наследовать члены существующего класса. Этот существующий класс называется базовым классом, а новый класс-производным классом.

Идея наследования реализует отношение. Например, млекопитающее-это животное, Собака-это млекопитающее, следовательно, собака-это тоже животное, и так далее.

Поддерживается ли множественное наследование в C#?

— Нет! C# не поддерживает множественное наследование.

Как наследовать класс В C#?

Класс может быть получен из нескольких классов или интерфейсов, что означает, что он может наследовать данные и функции из нескольких базовых классов или интерфейсов. Синтаксис, используемый в C# для создания производных классов, выглядит следующим образом −

о

Что такое полиморфизм?

Слово полиморфизм означает наличие множества форм. В объектно-ориентированной парадигме программирования полиморфизм часто выражается как «один интерфейс, несколько функций».

В чем разница между статическим полиморфизмом и динамическим полиморфизмом?

Полиморфизм может быть статическим или динамическим. В статическом полиморфизме ответ на функцию определяется во время компиляции. В динамическом полиморфизме это решается во время выполнения.

Как C# поддерживает статический полиморфизм?

C# предоставляет два метода для реализации статического полиморфизма. Они же …

  • Перегрузка функций
  • Перегрузка оператора

Что такое раннее связывание?

Механизм связывания функции с объектом во время компиляции называется ранней привязкой. Это также называется статической привязкой.

Что такое перегрузка функций?

Вы можете иметь несколько определений для одного и того же имени функции в одной и той же области. Определение функции должно отличаться друг от друга типами и/или количеством аргументов в списке аргументов. Нельзя перегружать объявления функций, которые отличаются только типом возвращаемого значения.

Как C# поддерживает динамический полиморфизм?

Динамический полиморфизм реализуется абстрактными классами и виртуальными функциями.

Что такое sealed класс В C#?

Если класс объявлен запечатанным,он не может быть унаследован.

Как вы создадите запечатанный абстрактный класс В C#?

— Нет! Он не может быть создан, так как абстрактные классы не могут быть объявлены запечатанными.

Что такое виртуальные функции в C#?

Когда у вас есть функция, определенная в классе, который вы хотите реализовать в наследуемом классе(классах), вы используете виртуальные функции. Виртуальные функции могут быть реализованы по-разному в разных унаследованных классах, и вызов этих функций будет решаться во время выполнения.

Поддерживается ли перегрузка операторов в C#?

Вы можете переопределить или перегрузить большинство встроенных операторов, доступных в C#. Таким образом, программист может также использовать операторы с определенными пользователем типами.

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

Что такое интерфейс?

Интерфейс определяется как синтаксический контракт, которому должны следовать все классы, наследующие интерфейс. Интерфейс определяет’ какую ‘часть синтаксического контракта и производные классы определяют’ как ‘ часть синтаксического контракта.

Интерфейсы определяют свойства, методы и события, которые являются членами интерфейса. Интерфейсы содержат только объявление членов. Это ответственность производящего класса, чтобы определить члены. Это часто помогает в обеспечении стандартной структуры, что производные классы будут следовать.

Что такое директивы препроцессора в C#?

Директивы препроцессора дают компилятору инструкции по предварительной обработке информации перед фактическим запуском компиляции.

Все директивы препроцессора начинаются с#, и только пробелы могут появляться перед директивой препроцессора в строке. Директивы препроцессора не являются инструкциями, поэтому они не заканчиваются точкой с запятой (;).

Как использовать директивы условного препроцессора в C#?

Директиву #if можно использовать для создания условной директивы. Условные директивы полезны для тестирования символа или символов, чтобы проверить, имеют ли они значение true. Если они имеют значение true, компилятор вычисляет весь код между директивой #if и следующей директивой.

Какой класс выступает в качестве базового класса для всех исключений в C#?

Исключения C# представлены классами. Классы исключений в C# в основном являются прямыми или косвенными производными от системы. Класс исключений. Некоторые классы исключений, производные от системы. Класс исключений — это система.ApplicationException и система.Классы SystemException.

В чем же разница между System.ApplicationException и классом System.SystemException ?

System.ApplicationException поддерживает исключения, создаваемые прикладными программами. Следовательно, исключения, определенные программистами, должны быть производными от этого класса.

система.Класс SystemException является базовым классом для всех предопределенных системных исключений.

Обновлено: 03.01.2020 — 21:02

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.