.NET 4.x Асинхронный метод: async + await - C#
Формулировка задачи:
Доброго времени суток! Есть достаточно простой метод:
и есть обращение к нему:
Как правильно сделать его асинхронным чтобы он вызывался из async функции так:
Я пробовал сделать так:
Но пишет что не все ветви кода возвращают значение. Помогите пожалуйста, заранее спасибо.
public UserControl1[,] ListToArray() { UserControl1[,] uc = new UserControl1[9, 9]; int i = 0; for (int j = 0; j < 9; j++) { for (int k = 0; k < 9; k++) { uc[j, k] = CellsList[i]; i++; } } return uc; }
public void NewGameButton_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e) { uc = DataClass.SelfRef.ListToArray(); }
uc = await DataClass.SelfRef.ListToArray();
public async Task<UserControl1[,]> ListToArray() { await Task.Run(() => { UserControl1[,] uc = new UserControl1[9, 9]; int i = 0; for (int j = 0; j < 9; j++) { for (int k = 0; k < 9; k++) { uc[j, k] = CellsList[i]; i++; } } return uc; }); }
Решение задачи: «.NET 4.x Асинхронный метод: async + await»
textual
Листинг программы
public Task<UserControl1[,]> ListToArray() { UserControl1[,] uc = new UserControl1[9, 9]; int i = 0; for (int j = 0; j < 9; j++) { for (int k = 0; k < 9; k++) { uc[j, k] = CellsList[i]; i++; } } return Task.FromResult(uc); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д