.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);
}