Есть следующие объявления классов A и B:
class A { virtual void Foo() { Console.Write("Class A"); } } class B: A { override void Foo() { Console.Write("Class B"); } }
Что выведут на консоль такие вызовы метода Foo()
:
B obj1 = new A(); obj1.Foo(); B obj2 = new B(); obj2.Foo(); A obj3 = new B(); obj3.Foo();
Есть следующая структура:
public struct S : IDisposable { private bool dispose; public void Dispose() { dispose = true; } public bool GetDispose() { return dispose; } }
Что будет выведено в следующем случае:
var s = new S(); using (s) { Console.WriteLine(s.GetDispose()); } Console.WriteLine(s.GetDispose());
Варианты ответов:
true, true
true, false
false, true
false, false
Есть следующий код:
List<Action> actions = new List<Action>(); for(var count=0; count<10; count++) { actions.Add(() => Console.WriteLine(count)); } foreach(var action in actions) { action(); }
Что будет выведено на консоль? Варианты ответов:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
10, 10, 10, 10, 10, 10, 10, 10, 10, 10
Код сгенерирует исключение
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Что будет выведено на консоль в результате следующих операций:
int i = 1; object obj = i; ++i; Console.WriteLine(i); Console.WriteLine(obj); Console.WriteLine((short)obj);