我有一个代码:
byte[][][] file = GetConfigData();
if (file == null)
return;
int pages = 0;
for (i = 0; i < file.Length; i++)
{
if (file[i] != null)
{
for (j = 0; j < file[i].Length; j++)
{
if (file[i][j] != null)
{
pages++;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何简化它?
请提供2个版本:
我不习惯.NET 2.0,但我可以为您提供一些.NET 3.5 Linq查询.
这里是:
pages = (from i in file
where i != null
from j in i
where j != null
select j).Count();
Run Code Online (Sandbox Code Playgroud)
但正如你所看到的那样,并且正如Will Dean所说,即使它更简单,它也不会自动使它更容易理解.我想补充一点,当你在代码简化方面走得太远时,你可能也会在代码不可读性方面走得更远.
我更喜欢有意义且易于阅读的代码,以及更强大和更短的代码,因为随着时间的推移,硬件得到改进,因此编写良好且易于阅读的代码将更快并且易于维护,但更短且难以理解的代码将保持不可读.
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |