问题描述
|
在这里,我正在检索目录中文本文件的最小大小。但是它给出的最小大小为``0''。但是该目录中没有0 kb文件。
var queryList3Only= (from i in di.GetFiles(\"*.txt\",SearchOption.AllDirectories)
select i.Length / 1024).Min();
dest.WriteLine(queryList3Only.ToString()+\" Kb\");
有什么建议吗?
解决方法
您需要选择“ doubles not int \”。如果文件大小小于1024,则大小为0
var queryList3Only= (from i in di.GetFiles(\"*.txt\",SearchOption.AllDirectories)
select (double)i.Length / 1024).Min();
, 如果您的文件少于1024字节,则它们将显示为零,因为整数除法将被截断。
1023 / 1024 = 0
您可能会发现将值转换为双精度值会得到0到1之间的答案。
, i.Length
长。当i.Length
小于1024时,i.Length / 1024
将返回0。
改用i.Length / 1024.0