Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5

Не работает await

12.03.2013, 15:00. Показов 4397. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код dll
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace dl
{
    public class Global
    {
        public async Task<string> MethodAsync(string Text)
        {
            return "test passed";
        }
    }
}
Код приложения
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using dl;
 
namespace Test
{
    class Program
    {
        static void Main()
        {
            Global test=new Global();
            Task<string> s = test.MethodAsync("daf");
            string str = await s;//тут ошибка
            Console.WriteLine(s);
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.03.2013, 15:00
Ответы с готовыми решениями:

Как работает async await?
Не могу понять как все же отрабатывает async await. Насколько я понимаю их работу сначала должен отрабоать &quot;Запуск асинхронной...

Не работает await с асинхронным методом
Здравствуйте, столкнулся с такой проблемой: Имеется асинхронный метод OrganizeList(); public async Task OrganizeList() { ...

Не на всех компьютерах работает функция await
Добрый день! Созданное мною приложение работает не на всех компьютерах в одной сети. Так как весь код очень большой выделю только...

4
 Аватар для Mr.kto
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
12.03.2013, 22:46
Alex9, Ну во первых await всегда сопровождается async которое прописывают в объявлении методов.
C#
1
2
3
4
5
6
7
        static async void Main()
        {
            var test = new NewClass();
            Task<string> s = test.MethodAsync("daf");
            string str = await s;//тут ошибка
            Console.WriteLine(s);
        }
Во вторых: как понять ваш код, он просто без логики (ненужный).
1
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
13.03.2013, 10:57  [ТС]
Это я функционал языка проверял пока.

Добавлено через 11 часов 59 минут
Main() не дает сделать async. Создать дополнительный метод, из которого вызываю метод библиотеки. Но теперь асинхронный метод в библиотеке подчеркивает зеленым и пишет, что он будет выполняться синхронно, т.к. в нем не присутствует await.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
13.03.2013, 11:29
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
 
            Console.WriteLine(program.GetDataAsync().Result);
 
            Console.ReadLine();
        }
 
        private async Task<string> GetDataAsync()
        {
            var result = await GetDataAwaitMethod();
 
            return result;
        }
 
        private Task<string> GetDataAwaitMethod()
        {
            string result = "Это создано в паралельном потоке!";
 
            return Task.FromResult(result);
        }
    }
Добавлено через 2 минуты
С передачей параметров:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
 
            Console.WriteLine(program.GetDataAsync("Alex9").Result);
 
            Console.ReadLine();
        }
 
        private async Task<string> GetDataAsync(string name)
        {
            var result = await GetDataAwaitMethod(name);
 
            return result;
        }
 
        private Task<string> GetDataAwaitMethod(string name)
        {
            string result = string.Format("Hello {0}", name);
 
            return Task.FromResult(result);
        }
    }
Добавлено через 2 минуты
Создание новых потоков можно отследить в окне "Output" Visual Studio. Будут строчки "The thread '<No Name>' (0x8ec) has exited with code 0 (0x0)."
1
 Аватар для Энтомолог
141 / 182 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
13.03.2013, 16:45  [ТС]
Если много методов так вызвать последовательно через await, то они в одном потоке будут выполняться или в разных ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2013, 16:45
Помогаю со студенческими работами здесь

Как работает await Task.Delay()
await Task.Delay(5000); Зачем используется асинхронность для задержки ?

Использую async и await но асинхронность так и не работает
Добрый день. Глупый вопрос, но почему в данной коде не работает асинхронность? И что надо изменить чтобы заработала? private...

Await вложенный в await
Подскажите, вот есть код public class Foo1 { //Body class } public class Foo2:Foo1 { //Body class

Await/Async - не работает
Изучаю Async/Await. Есть программка, постоянно крутящийся статус-бар и две кнопки. При нажатии на первую - все как должно, асинхронно,...

Node v7.9 async/await не работает. Что не так?
Всем привет. Использую node 7.9 и express. Вот код как пример: function mysql_execute(sql, props) { return new...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru