TG Telegram Group & Channel
C# (C Sharp) programming | United States America (US)
Create: Update:

🖥 Задача: Что выведет этот код на C\#?


using System;
using System.Threading.Tasks;

class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("1");
var task = FooAsync();
Console.WriteLine("2");
await task;
Console.WriteLine("5");
}

static async Task FooAsync()
{
Console.WriteLine("3");
await Task.Delay(100);
Console.WriteLine("4");
}
}


Вопрос:
Какой порядок чисел появится в консоли?

👇 Подумай, прежде чем смотреть ответ.



Разбор:

1. Console.WriteLine("1"); → печатает 1

2. var task = FooAsync(); → вызывается FooAsync(), который:

печатает 3

доходит до await Task.Delay(100); и возвращает управление в Main (не дожидаясь задержки)

3. Console.WriteLine("2"); → печатает 2

4. await task; → теперь Main ждёт завершения FooAsync

5. после 100ms продолжает выполнение в FooAsync → печатает 4

6. возвращаемся в Main → печатает 5



🎉 Окончательный вывод:

1
3
2
4
5

📝 Что проверяет задача:

- Понимание работы async/await

- Как работают точки приостановки (suspension points)

- Когда код возвращается в вызывающий метод

#CSharp #AsyncAwait #InterviewQuestion #CodeChallenge

@csharp_ci

🖥 Задача: Что выведет этот код на C\#?


using System;
using System.Threading.Tasks;

class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("1");
var task = FooAsync();
Console.WriteLine("2");
await task;
Console.WriteLine("5");
}

static async Task FooAsync()
{
Console.WriteLine("3");
await Task.Delay(100);
Console.WriteLine("4");
}
}


Вопрос:
Какой порядок чисел появится в консоли?

👇 Подумай, прежде чем смотреть ответ.



Разбор:

1. Console.WriteLine("1"); → печатает 1

2. var task = FooAsync(); → вызывается FooAsync(), который:

печатает 3

доходит до await Task.Delay(100); и возвращает управление в Main (не дожидаясь задержки)

3. Console.WriteLine("2"); → печатает 2

4. await task; → теперь Main ждёт завершения FooAsync

5. после 100ms продолжает выполнение в FooAsync → печатает 4

6. возвращаемся в Main → печатает 5



🎉 Окончательный вывод:

1
3
2
4
5

📝 Что проверяет задача:

- Понимание работы async/await

- Как работают точки приостановки (suspension points)

- Когда код возвращается в вызывающий метод

#CSharp #AsyncAwait #InterviewQuestion #CodeChallenge

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

C# (C Sharp) programming




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)