这里我正在检索目录中文本文件的最小大小。但是它给出0
作为最小大小。但是该目录中没有0 kb文件。
var queryList3Only= (from i in di.GetFiles("*.txt", SearchOption.AllDirectories)
select i.Length / 1024).Min();
dest.WriteLine(queryList3Only.ToString()+" Kb");
有任何建议吗?
答案 0 :(得分:6)
你需要选择双打而不是int。如果filesize是< 1024然后你将以0大小结束
var queryList3Only= (from i in di.GetFiles("*.txt", SearchOption.AllDirectories)
select (double)i.Length / 1024).Min();
答案 1 :(得分:2)
如果您的任何文件少于1024个字节,那么它们将显示为零,因为整数除法将被截断。
1023 / 1024 = 0
您可能会发现将值转换为双精度值可以得到0到1之间的答案。
答案 2 :(得分:2)
i.Length
很长。当i.Length
小于1024时,i.Length / 1024
将返回0.
使用i.Length / 1024.0
代替