c# - C#在循环内多次重新初始化数组
问题描述
我目前正在处理一个处理多个字节数组的项目。在一种情况下,可能会在 while 循环中多次重新初始化数组。发生这种情况的唯一原因是应用程序正在接收读取请求,但接收到的信息不正确。
我必须有一个“干净的”字节数组才能写回设备,表明信息不正确。被读取的设备倾向于跳入“循环”,在该循环中它不断发送“不正确”的数据,直到与之交互,这不是问题。只要知道设备发送垃圾邮件读取请求目前不是问题,将来会得到处理。
我的问题是: 长时间在 while 循环内重新初始化数组时是否存在任何性能/编码问题?例如 10000+ 次迭代
代码示例:
byte[] array = new byte[500]
while(condition)
{
// Some work
array = new byte[500]
Thread.Sleep(100);
// Some work
}
解决方案
如果数组没有改变,您可以简单地清除数组(https://docs.microsoft.com/de-de/dotnet/api/system.array.clear?view=net-5.0):
Array.Clear(array, 0, array.Length);
为了节省性能,您还可以异步运行函数。
推荐阅读
- python-3.x - 如何解析字符串以获取国家/地区名称?
- docker - 在 docker 的 tomcat9 中找不到管理器应用程序
- laravel - 在 URL 上添加用户 ID
- python - OOP - Python 类/R 类比
- assembly - 为 MS-DOS Int 24h 严重错误处理程序设置堆栈
- heroku - Heoku Github 操作部署 - CI/CD - 无法推送分支,因为该分支位于已部署的分支后面
- c++ - 为什么 rand() 函数在在线编译器上返回 1804289383?
- java - 使用 lsp 在 spacevim 中为 java 添加 lombok
- apache - 绕过被阻止的入站 SSH
- angularjs - 如何在 UI 引起的范围变量更改时重新加载指令的模板