Что выведет на консоль следующий код:
var s1 = string.Format("{0}{1}", "abc", "cba"); var s2 = "abc" + "cba"; var s3 = "abccba"; Console.WriteLine(s1 == s2); Console.WriteLine((object)s1==(object)s2); Console.WriteLine(s2==s3); Console.WriteLine((object)s2==(object)s3);
Варианты ответов:
true, false, true, true
true, true, true, true
true, false, true, false
true, false, false, false
Какие результаты выведет следующий код:
internal class Program { private static Object syncObject = new Object(); private static void Write() { lock (syncObject) { Console.WriteLine("test"); } } static void Main(string[] args) { lock (syncObject) { Write(); } } }
Варианты ответов:
Выбросит исключение
Напечатает слово "test"
Произойдет взаимоблокировка (deadlock)
Напечатает слово "test" бесконечное число раз
Даны следующие классы:
public class A { public virtual void Print1() { Console.Write("A"); } public void Print2() { Console.Write("A"); } } public class B: A { public override void Print1() { Console.Write("B"); } } public class C : B { new public void Print2() { Console.Write("C"); } }
К какому результату приведет выполнение следующего кода:
var c = new C(); A a = c; a.Print2(); a.Print1(); c.Print2();
Варианты ответов:
ABC
CCC
ACC
AAC
Что будет выведено на консоль в результате выполнения следующего кода:
static IEnumerable<int> Square(IEnumerable<int> a) { foreach(var r in a) { Console.WriteLine(r * r); yield return r * r; } } class Wrap { private static int init = 0; public int Value { get { return ++init; } } } static void Main(string[] args) { var w = new Wrap(); var wraps = new Wrap[3]; for(int i=0; i<wraps.Length; i++) { wraps[i] = w; } var values = wraps.Select(x => x.Value); var results = Square(values); int sum = 0; int count = 0; foreach(var r in results) { count++; sum += r; } Console.WriteLine("Count {0}", count); Console.WriteLine("Sum {0}", sum); Console.WriteLine("Count {0}", results.Count()); Console.WriteLine("Sum {0}", results.Sum()); }