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

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

+114

  • Кто проходил: Vlad Dem
  • Дата прохождения: 19.03.2019
Что верно по отношению к данному фрагменту кода:
for (;;) 
{ 
  Console.WriteLine("test"); 
} 
Ваши ответы
Код скомпилируется и будет бесконечно печатать слово "test"
Для инкапсуляции вы хотите определить автосвойство так, чтобы невозможно было вызвать сеттер за пределами класса, но геттер оставить доступным. В каком из заданных вариантов описано нужное свойство?
Ваши ответы
public int Value { get; private set; }
Какой конструктор называют конструктором типа?
Ваши ответы
конструктор, отмеченный модификатором static
Что будет выведено на консоль в результате выполнения следующего кода:
namespace ConsoleApplication1 
{ 
   class Program 
   { 
       static void Main(string[] args) 
       { 
           string @string = "ABC"; 
           Console.WriteLine(string); 
 
           Console.ReadLine(); 
       } 
   } 
} 
Ваши ответы
Возникнет ошибка компиляции
Объяснение:

В Console.WriteLine мы пытаемся вывести тип, а не локальную переменную, чтобы вывести переменную к ней нужно обратиться @string.

Что напечатает следующий код:
public static void Main() 
{ 
   Int32 v = 5; 
   Object o = v; 
   v = 123; 
   Console.WriteLine(v + ", " + (Int32) o); 
} 
Ваши ответы
123, 5
Что будет выведено в результате работы программы?
#if DEBUG 
       Console.WriteLine("DEBUG"); 
#else 
       Console.WriteLine("RELEASE"); 
#endif 
Ваши ответы
При компиляции в debug моде будет выведено "DEBUG", а при release - "RELEASE"(если определенны эти константы)
Объяснение:

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

В какой строке кода допущена ошибка:
int a = 0; 
int b = 1; 
if (a == b) a = a; 
if (a) b = a; 
Ваши ответы
в четвертой: условие должно возвращать логическое значение
В каких строках кода допущены ошибки?
using System; 
namespace Inheritance 
{ 
    class A { } 
    interface Inner { } 
    struct S : A, Inner  //1 
    { 
        int num = 10;    //2 
        public S()        //3 
        { 
        } 
        static S()       //4 
        { 
        }        
    } 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            S obj = new S(); //5 
        } 
    } 
} 
Ваши ответы
1
Объяснение:

1 - структуры не поддерживают классическое наследование, а A - это имя класса
2 - поля структур нельзя инициализировать при объявлении
3 - в структурах нельзя определять конструкторы экземпляров по умолчанию

Что выведет данный код?
abstract class A 
{         
   public virtual void Method1() 
   { 
       Console.WriteLine("A.Method1"); 
   } 
 
   public abstract void Method2(); 
} 
 
class B:A 
{ 
   public override void Method1() 
   { 
       Console.WriteLine("B.Method1"); 
   } 
} 
class Program 
{ 
   public static void Main(string[] args) 
   { 
       A a = new B(); 
       a.Method1(); 
   } 
} 
Ваши ответы
Код не скомпилируется
Объяснение:

класс B должен реализовать Method2()

Скомпилируется ли следующий фрагмент кода:
private void GetValues(int a,int b, out int c,out int d) 
{ 
   d = c - a; 
   c = a + b; 
}        
private void SomeMethod() 
{ 
   int a; 
   int b; 
   GetValues(1, 2, out a, out b); 
} 
Ваши ответы
Нет
Объяснение:

Не скомпилируется, поскольку переменная с в выражении d = c - a должна быть сначала проинициализирована

Из за чего код не скомпилируется?:
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 является строковым выражением, его синтаксис не проверяется=)

В какой кодировке хранятся символьные (char) переменные в C#?
Ваши ответы
Windows1251
Объяснение:

The C# language specification: http://msdn.microsoft.com/en-us/library/ms228593.aspx http://msdn.microsoft.com/en-us/library/x9h8tsay.aspx The char keyword is used to declare an instance of the System.Char structure that the .NET Framework uses to represent a Unicode character. The value of a Char object is a 16-bit numeric (ordinal) value. Type: char Range: U+0000 to U+FFFF Size: Unicode 16-bit character

Что выведется на консоль:
using System; 
 
class MainClass 
{ 
   static void Main() 
   { 
       int? i = null; 
       Console.WriteLine(i ?? Convert.ToInt32(i.HasValue)); 
   } 
} 
Ваши ответы
Код выдаст исключение NullReferenceException
Сколько объектов типа string будет создано во время выполнения следующего кода?
string s = "sdfsg";   if(s.ToLower().Substring(1, 2).EndsWith("exe"));     
Ваши ответы
нет правильных вариантов
Объяснение:

1. "sdfs" 2. Получим в результате s.ToLower() 3. Получим в результате .Substring() 4. "exe"

Что выведет на экран код:
static void Main() 
{ 
   if (false) 
   { 
       int i = 1; 
   } 
   int i = 2; 
   Console.WriteLine(i); 
} 
Ваши ответы
2