c# - 添加并作为长异步列表返回
问题描述
我尝试创建一个函数,该函数将创建一个 long 数组并返回它,因为我将在另一个函数中使用。
private async Task<List<long>> ReturnListArrayLong()
{
if (MemOpen())
{
byte[] bPosition = new byte[290];
mmfvs.Read(bPosition, 0, 290);
Buffer.BlockCopy(bPosition, 0, data, 0, bPosition.Length);
List<long> ArrayLong = new List<long>();
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;
}
}
public async Task getArray()
{
await ReturnListArrayLong();
}
解决方案
if
您在条件范围内的错误位置有返回语句。移动申报并返回外面if
,你应该很好。
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;
希望这可以帮助!
推荐阅读
- python - 从站点解析表
- java - 午夜后的倒数计时器错误(与时区和时钟有关)
- java - 使用线程更改数组元素
- javascript - WebGL GLSL 片段着色器在 iOS 上不起作用
- java - 使用打包的 Hibernate JPA 持久性提供程序时未检测到实体
- python - 如何在python中创建一个二维数组
- python - 熊猫合并列以使用逗号分隔值创建新列
- angular - Angular 6 - 动画不过渡。它只是直接跳转到状态
- firebase - admin.messaging().sendToDevice() 不工作 - Firebase 云消息传递
- python - Ubuntu bash 和 Anaconda 的兼容性