Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
2 / 2 / 1
Регистрация: 04.05.2012
Сообщений: 77
1

Асинхронный метод и возвращаемое значение: как реализовать эту логику?

23.11.2015, 21:36. Показов 1788. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите реализовать такую логику: надо вызвать ReadData() с возвращаемым значением, но проблема в том, что await требует, чтобы метод был async, а Main(string[] args) не может быть async, поэтому код не компилируется.

Как тут делать?


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace ProgramConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            var res = await ReadData("Строка");
        }
 
        private async static Task<string> ReadData(string str)
        {
            string s = str;
            return s;
      }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2015, 21:36
Ответы с готовыми решениями:

Метод isHeadlessInstance(). Возвращаемое значение
Класс: java.awt.GraphicsEnvironment. Метод: public boolean isHeadlessInstance(). Returns: true if...

Как правильно реализовать логику программы?
Здравствуйте! Хочу реализовать такую логику программы: телефон - стартовая активность А -&gt;...

Как последовательно выполнять один асинхронный метод?
Как при вызове асинхронного метода не выполнять его до тех пор, пока задача, начатая при предыдущем...

Как обработать возвращаемое значение из библиотеки на C++
Имеется DLL библиотека на С++ с вот такой экспортируемой функцией wstring* GetDevicesesNames() {...

1
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
23.11.2015, 21:56 2
В методе Main не может быть никаких await. await означает, что метод возвращает управление до того момента, как завершится задача, которая awaitится. Но куда будет возвращать управление метод Main, если при завершении его выполнения программа просто закрывается? Поэтому вызывайте метод ReadData синхронно, а потом обращайтесь к свойству Result возвращенного значения.

Добавлено через 5 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace ConsoleApplication63
{
    class Program
    {
        static void Main(string[] args)
        {
            var res = ReadData("Строка").Result;
        }
 
        private async static Task<string> ReadData(string str)
        {
            string s = str;
            return s;
        }
    }
}
1
23.11.2015, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2015, 21:56
Помогаю со студенческими работами здесь

Массив как возвращаемое функцией значение
Подскажите пожалуйста пример функции, которая возвращает массив, спасибо))

Как присвоить значение возвращаемое функцией?
#include &lt;iostream.h&gt; char* abc(int num){ static char masiv; masiv = num+'0'; ...

Как можно реализовать такую логику в Windows Forms?
https://www.cyberforum.ru/csharp-beginners/thread1089327.html#post5739010 Нарисовала интерфейс...

Как присвоить возвращаемое значение функции переменной?
double sine(int index, int frequency) { return (100*sin(index*frequency)); } вопрос: как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru