Главная > C# > Интересные задачки по C#.

Интересные задачки по C#.

Искал задачки по C#, такие, какие могут дать вам на собеседовании, т.е. максимально короткие, но с закавыркой, в сети обнаружил лишь пару книг именно с задачами, но на кого они рассчитаны я не понял, потому что там нужно например "рассчитать сопротивление цепи постоянного тока" и т.п. Наткнулся на блог небезызвестного Гайдара Магданурова, там нашлось то, что нужно 🙂 . Привожу тексты задач.

1. Каков результат компиляции и выполнения приведенного ниже кода?

static void Main(string[] args) 
{ 
    Console.WriteLine(GetSomeResult(10000)); 
}

static long GetSomeResult(long someValue) 
{ 
    long value1 = 10 * 1000 * 10000 * someValue; 
    long value2 = 10 * 1000 * 10000 * 100000; 
    return value2 / value1; 
}


2. Какое значение присвоено x, если приведенный ниже код выводит False?

float x; 
Console.Write(x == x)

3. А почему следующий код выводит False?

public static void Main() 
{ 
    Test t = new Test(); 
    Console.WriteLine(t.Equals(t)); 
}

4. Что будет выведено на экран при выполнении приведенного ниже кода?

static void Main(string[] args) 
{ 
    char a = 'a'; 
    int b = 0; 
    Console.WriteLine(true ? a : b); 
}

5. А в этом случае, что будет на экране?

NameValueCollection col = new NameValueCollection(); 
Console.WriteLine("Элемент test " + col["test"] != null ? "Существует!" : "Не существует!");

6. Что следует ожидать на экране?

Console.WriteLine("A" + "B" + "C"); 
Console.WriteLine('A' + 'B' + 'C');

7. Циклическая инициализация полей? Интересненько, а в результате что будет на консоли выведено?

public class A { public static int x = B.y + 1; } 
public class B { public static int y = A.x + 1; }

static void Main(string[] args) 
{ 
    Console.WriteLine("A.x = " + A.x); 
    Console.WriteLine("B.y = " + B.y); 
}

8. Инкремент, инкремент, а что же будет?

int j = 0;

for (int i = 0; i < 10; i++) 
    j = j++;

Console.WriteLine(j);

9. А что будет выведено в результате такого цикла?

int end = int.MaxValue; 
int begin = end - 100; 
int counter = 0;

for (int i = begin; i <= end; i++) 
    counter++;

Console.WriteLine(counter);

10. А такого?

float begin = 1000000000; 
int counter = 0;

for (float i = begin; i < (begin + 10); i++) 
    counter++;

Console.WriteLine(counter);

11. Какой же метод выберет компилятор?

class A { public void Test(int n) { Console.WriteLine("A"); } } 
class B : A { public void Test(double n) { Console.WriteLine("B"); } }

static void Main(string[] args) 
{ 
    B b = new B(); 
    b.Test(5); 
}

12. А в этом случае?

public class Test 
{ 
    public Test(object obj) { Console.WriteLine("object"); } 
    public Test(int[] obj) { Console.WriteLine("int[]"); } 
}

public static void Main() { Test t = new Test(null); }

13. Что будут выведено на экран в результате выполнения кода приведенного ниже?

List<int> list = new List<int>() { 1, 2, 3, 4, 5 };

List<int> all = list.FindAll( 
i => { Console.Write(i); return i < 3; } 
);

14. А такого кода?

List<int> list = new List<int>() { 1, 2, 3 }; 
var x = list.GroupBy(i => { Console.Write(i); return i; }); 
var y = list.ToLookup(i => { Console.Write(i); return i; });

15. И наконец, сложный вопрос из трех частей. Что будет выведено на экран в каждом из трех случаев, приведенных ниже:

А)

try { 
    Console.WriteLine("Hello "); 
    return; 
} 
finally { Console.WriteLine("Goodbye "); } 
Console.WriteLine("world!");

Б)

try { 
    Console.WriteLine("Hello "); 
    Thread.CurrentThread.Abort(); 
} 
finally { Console.WriteLine("Goodbye "); } 
Console.WriteLine("world!"); 

В)

try { 
    Console.WriteLine("Hello "); 
    System.Environment.Exit(0); 
} 
finally { Console.WriteLine("Goodbye "); } 
Console.WriteLine("world!"); 

Решения приведу немного позже 🙂 .

Categories: C# Tags:
  1. Саша
    7 сентября 2010 в 20:53 | #1

    Ну так а где же решения?))

  2. 13 сентября 2010 в 20:06 | #2

    А я уж думал, что никто не спросит:). Будут на этой неделе. Не хватает времени пока вести блог.

  3. cli
    19 октября 2010 в 13:40 | #3

    а зачем решения) Вбил в VS вот тебе и решения)

  4. агагаг
    4 февраля 2011 в 18:56 | #4

    Ого, особенно вторую задачу он те выдаст.

  5. Wapo
    1 сентября 2011 в 07:04 | #5

    Целый год прошел, а решений так и нет.

  6. 9 сентября 2011 в 17:22 | #6

    Как это нет ? А это ?

  7. kolya
    19 января 2014 в 23:33 | #7
  8. Серж
    10 сентября 2016 в 14:57 | #8

    внатуре где решение 6 лет прошло!

  1. 17 сентября 2010 в 17:53 | #1