Функция не определена с правильным типом возврата.
ArrayLong
должно быть List<long>
, в то время как в настоящее время оно определено как List<Task<long>>
data
быть long[]
, поэтому вам нужно вызвать Add(data[i])
в списке, а не AddRange
, что предполагает IEnumerable<long>
private async Task<List<long>> ReturnListArrayLong() {
List<long> ArrayLong = new List<long>();
if (MemOpen()) {
byte[] bPosition = new byte[290];
mmfvs.Read(bPosition, 0, 290);
Buffer.BlockCopy(bPosition, 0, data, 0, bPosition.Length);
for (int i = 0; i < data.Length; i++) {
if (data[i] != 0) {
await Task.Run(() => ArrayLong.Add(data[i]));
}
await Task.Delay(10);
}
}
return ArrayLong;
}
Также используйте Task.Delay
вместо Thread.Sleep
в асинхронной функции.