.NET 4.x Асинхронный метод: async + await - C#

Формулировка задачи:

Доброго времени суток! Есть достаточно простой метод:
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();            
        }
Как правильно сделать его асинхронным чтобы он вызывался из async функции так:
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 - C#»

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);
        }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

13   голосов, оценка 4.308 из 5


СДЕЛАЙТЕ РЕПОСТ