Если это асинхронный запрос, он будет возвращаться без ошибок, почему он бросает ошибку без async, async бесполезен в этой операции.Невозможно неявно преобразовать тип 'int' в '... Задачи <int>'
public Task<int> countUp()
{
string compare = txtTag.Text;
int count = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (compare == dataGridView1[0, i].Value.ToString())
{
BeginInvoke(new Action(() =>
{
count++;
txtCount.Text = count.ToString();
}));
}
}
return count;
}
Почему вы должны вернуть '' Задача, а не просто обычный 'int'? –
thecoop
Мне нужно, чтобы он бежал по другой теме. Как вы передаете инструкции от пользовательского интерфейса к задаче? – ploxtic
Вы, похоже, ошибаетесь, что метод async работает в другом потоке. Это не.Асинхронный метод содержит * асинхронный ожидание *, и * немедленно возвращается, когда ожидание происходит *. Затем он * возобновляет то, где он остался *, когда ожидаемое значение доступно. Убедитесь, что вы это понимаете; ** совершенно не так, что асинхронный метод обязательно выполняется на другом потоке; на самом деле, одна из причин, по которым мы добавили асинхронные методы в C#, заключалась в том, чтобы: * уменьшить * зависимость от потоков в качестве механизма асинхронизации. –