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

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

+120

  • Кто проходил: Vlad Dem
  • Дата прохождения: 22.03.2019
Можно ли в конструктор передать параметр с ключевым словом ref?
Ваши ответы
Да
Объяснение:

Можно, в этом плане конструктор ничем не отличается от любого другого метода.

Какие из перечисленных ключевых слов используются в конструкции "если":
Ваши ответы
if
Среди перечисленных конструкций C# укажите объявление поля
Ваши ответы
string Name;
Что будет выведено на консоль при выполнении этого кода:
using System; 
using System.Collections.ObjectModel; 
 
using ByteCollection1 = System.Collections.ObjectModel.Collection<byte>;  
 
namespace CollectionApplication  
{  
  class Program  
  {  
      class ByteCollection2 : Collection<byte> { }  
 
      static void Main(string[] args)  
      {  
          Console.WriteLine(typeof(ByteCollection1) == typeof(Collection<byte>));  
          Console.WriteLine(typeof(ByteCollection2) == typeof(Collection<byte>));  
      }  
  }  
} 
 
Ваши ответы
True
False
Объяснение:

class ByteCollection2 : Collection { } - это уже новый тип.
Поэтому typeof(ByteCollection2) возвращает результат отличный от typeof(Collection<T>)), скажем T = int.

Возможно ли иметь/создать статический индексатор в С#?
Ваши ответы
Нет
Среди перечисленных конструкций укажите объявление индексатора
Ваши ответы
string this [int i] {get {return “Name”;}}
Выберите верные утверждения на счет наследования в C#
Ваши ответы
Класс может наследовать только одну реализацию
Класс может наследовать сколько угодно интерфейсов
Вы работаете прикладным разработчиком в Certkiller.com. Certkiller .com использует Visual Studio.NET 2005. Вам нужно сохранить числовое значений вплоть до 2,100,000,000 в переменной и, возможно, требует хранения отрицательных значений, использующих .NET Framework 2.0 . Требуется, чтобы вы оптимизировали использование памяти. Какой тип переменных используете?
Ваши ответы
Int32
Объяснение:

Объяснение: нужно использовать в сценарии Int32, так как этот тип может использоваться, чтобы запомнить позитивные и отрицательные числовые
значения в диапазоне с -2,147,483,648 до +2,147,483,647.
Некорректные Ответы:
B, C: UINT32 и UInt16 нельзя использовать, потому что они используются, чтобы хранить только положительные значения.
D: Int16 нельзя использовать только позволяет хранить значения с -32768 до +32767.

Cколько раз выполнится тело следующего цикла:
int i = 0; 
while (++i < 3)  
{ 
   Console.Write(i); 
} 
Ваши ответы
2
Какое значение будет выведено на консоль в результате выполнения программы?
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. Структуры могут быть унаследованы только от интерфейсов.

В определении каких методов класса допущены ошибки?
public class Foo  
{ 
   public void M1(int[] p1, int[] p2) { } 
   public void M2(int[] p1, params int[] p2) { }    
   public void M3(params int[] p1, int[] p2) { } 
   public void M4(params int[] p1, params int p2) { } 
} 
Ваши ответы
M3
M4
Объяснение:

После параметра с ключевым словом params, дополнительные параметры не допускаются.
Не допускается использование ключевого слова params в объявлении метода более одного раза
http://msdn.microsoft.com/ru-ru/library/w5zay9db(VS.90).aspx

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

Что выведет на экран данный код?
class Program 
{ 
   static void Main(string[] args) 
   { 
       Console.WriteLine(Foo("Original string")); 
   } 
 
   public static string Foo(string str) 
   { 
       try 
       { 
           return str; 
       } 
       finally 
       { 
           Console.WriteLine("In finally"); 
           str = "Somewhere in finally"; 
       } 
   } 
} 
Ваши ответы
In finally
Somewhere in finally
Скомпилируется ли следующий код:
class Program 
  { 
      private static int i; 
      static Program(int a) 
      { 
          this.i = a; 
          Console.WriteLine("In static constructor"); 
      } 
      static void Main(string[] args) { } 
  } 
Ваши ответы
Да
Объяснение:

В коде две ошибки: 1) Статический конструктор класса (конструктор типа) не должен содержать параметров. 2)Ключевое слово 'this' нельзя использовать в статическом свойстве, методе или инициализаторе статического поля.

Каким будет результат выполнения кода:
using System; 
 
class App 
{  
   static void Main() 
   { 
       string s; 
       s+="string"; 
       Console.WriteLine(s); 
   } 
} 
Ваши ответы
Ошибка времени выполнения
Объяснение:

Переменная s не инициализированная. Если бы код выглядел вот так