本文旨在说明:foreach 在ilruntime内的弊端,应尽量避免在ilruntime内使用foreach来遍历数据。
Dictionary :

List:

测试代码如下:
dics.Add("123", "opdfasp");
dics.Add("1234", "opdfasp");
dics.Add("125", "opdfasp");
dics.Add("126", "opdfasp");
dics.Add("127", "opdfasp");
dics.Add("128", "opdfasp");
dics.Add("129", "opdfasp");
dics.Add("121", "opdfasp");
dics.Add("12231", "opdfasp");
dics.Add("12332465", "opdfasp");
lists.Add("123");
lists.Add("1234");
lists.Add("125");
lists.Add("126");
lists.Add("127");
lists.Add("128");
lists.Add("129");
lists.Add("121");
lists.Add("12231");
lists.Add("12332465");
if (UnityEngine.Input.GetKeyDown(UnityEngine.KeyCode.D))
{
Dic = true;
}
if (UnityEngine.Input.GetKeyDown(UnityEngine.KeyCode.R))
{
Dic = false;
}
if (Dic)
{
foreach (var item in dics)
{
if (item.Key == "")
{
}
}
}
else
{
for (int i = 0; i < lists.Count; i++)
{
if (lists[i] == "")
{
}
}
}
本文探讨了在ILRuntime环境下使用foreach遍历Dictionary和List的潜在问题,并提供了使用for循环作为替代的优化方案。通过示例代码展示了在Unity中如何根据用户输入切换遍历方式,指出在特定场景下应尽量避免使用foreach以提高性能。

348

被折叠的 条评论
为什么被折叠?



