Результаты прохождения теста C# основы пользователем Denis Orlov

Результат прохождения теста "C# основы" - Пройден

+106

  • Кто проходил: Denis Orlov
  • Дата прохождения: 14.08.2019
Укажите корректные примеры использования ключевого слова var для автоматического вывода типов:
Ваши ответы
var evenNumbers = new int [] {2, 4, 6, 8};
var myINt = 1;
var myString = "Goodbye word";
Объяснение:

Смотрим по правой части где явно можно вывести тип

Что будет выведено на экран?
class Test  
{ 
   static void Main(string[] args)  
   { 
       int i = 1; 
       Console.WriteLine("i = {0}", i++); 
   } 
} 
Ваши ответы
i = 1
Для чего предназначен метод Finalize?
Ваши ответы
Позволяет объекту выполнить корректную очистку, прежде чем сборщик мусора освободит занимаемую объектом память
Объяснение:

Позволяет объекту выполнить корректную очистку, прежде чем сборщик мусора освободит занимаемую объектом память. Синтаксис метода:

Какое значение будет занесено в переменную b
class Program 
{ 
   static void Main(string[] args) 
   { 
       Func<int> d; 
       d = () => 0; 
       d += () => 1; 
       d += () => 2; 
       int b = d(); 
   } 
} 
Ваши ответы
2
Объяснение:

Делегат возвращает значение, полученное при вызове последнего метода

Какие из следующих модификаторов валидны в C#?
Ваши ответы
public
protected internal
private
internal
Что выведет данный код?
static void Main(string[] args) 
{ 
   string s; 
   { 
       int s = 10; 
       Console.WriteLine(s); 
   } 
} 
Ваши ответы
Код не скомпилируется
Возможно ли иметь/создать статический индексатор в С#?
Ваши ответы
Нет
Среди перечисленных конструкций C# укажите объявление свойства
Ваши ответы
string Name {get{return “Name”;}}
C# является регистрозависимым языком.
Ваши ответы
Да
В какой строке кода допущена ошибка:
int a = 0; 
int b = 1; 
if (a == b) a = a; 
if (a) b = a; 
Ваши ответы
в четвертой: условие должно возвращать логическое значение
Скомпилируется ли следующий код?
public class CustomConvertor 
{ 
   public static string ToDate(out this DateTime dt)      
   { 
       return dt.ToShortDateString();  
   } 
} 
Ваши ответы
Нет
Объяснение:

Не будет работать.
1. Класс содержащий
расширяющие методы должен быть статическим.
2. Модификатор "out" в объявлении расширяющего метода - не нужен.

Cколько раз выполнится тело следующего цикла:
int i = 0; 
while (++i < 3)  
{ 
   Console.Write(i); 
} 
Ваши ответы
2
Что напечатает программа:
class Program 
{ 
   static bool SomeMethod()         
   { 
       Console.WriteLine("Method was invoked");            
       return true;         
   }  
   static void Main(string[] args)        
   { 
       if (true & false & SomeMethod()) 
       { 
           Console.WriteLine("Inside IF operator"); 
       }             
   }         
} 
Ваши ответы
Method was invoked
Объяснение:

Операция & в условном операторе позволяет полностью вычислить условие независимо от операндов, даже если очевидно, что результат не зависит от последующих операндов. Эта операция отличается от операции && тем, что полностью вычисляет выражение.

Какое значение будет выведено на консоль в результате выполнения программы?
struct A { 
       public virtual void foo() { 
           Console.WriteLine("A"); 
       } 
   } 
 
   struct B : A {  
       public virtual override void foo() { 
           Console.WriteLine("B"); 
       } 
   } 
 
   class Program 
   { 
       static void Main(string[] args) { 
           A v = new B(); 
           v.foo(); 
       } 
   } 
Ваши ответы
Программа не компилируется
Объяснение:

Программа не компилируется по двум причинам:
1. Структуры не могут иметь виртуальных методов;
2. Структуры могут быть унаследованы только от интерфейсов.

Из за чего код не скомпилируется?:
using Systеm; 
nаmеsрасе Q 
{ 
   сlаss Sample 
   { 
/*1*/    #rеgiоn Cоnstruсtоr 
       рubliс Sample(string sample) 
       { 
       } 
/*2*/    #еndrеgiоn 
 
/*3*/    #rеgiоn Рrореrtiеs 
       рubliс string Nаmе 
       { 
           sеt; 
           gеt; 
       } 
/*4*/    #еndrеgiоn 
 
/*5*/    #rеgiоn Меthоds 
       stаtiс vоid Маin(string[] аrgs) 
       { 
/*6*/            Sample n = nеw Sample("Hеlо Wrоld");     
       } 
/*7*/    #еndrеgiоn 
   } 
} 
Ваши ответы
Директивы #region / #endregion должны быть первыми на строке (до комментариев)
Объяснение:

#region, #endregion - элементы оформления кода, при этом # должна быть первым непробельным символом на строке.
/**/ - Вполне себе комментарии
Hello World является строковым выражением, его синтаксис не проверяется=)