我想获得在 ListView 中显示的大小。
但是我的代码返回 0。我 find.Length() 获取长度大小但只有 Count() 并且它无法解决我的问题。

我的代码如:

string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop, false);
List<FileInfo> fileInfos = new List<FileInfo>();
foreach (string filePath in filePaths)
{
    FileInfo f = new FileInfo(filePath);
    fileInfos.Add(f);
    long s1 = fileInfos.Count;
    string chkExt = Path.GetExtension(f.ToString());
    s1 = s1/1024;
    decimal d = default(decimal);
    d = decimal.Round(s1, 2, MidpointRounding.AwayFromZero);
    // d is 0. Because s1 = 1 only count not length of file.

最佳答案

您正在使用 fileInfos ,这是一个 List<T> 。您想检查实际 FileInfo f 的长度:

long s1 = f.Length;

当您除以 1024 时,请注意,处理 filezises 时的单位有所不同,具体取决于您的基数:2 或 10。KB 是 2^x,kB 是 10^x 字节。

关于c# - 如何在 FileInfo 中获取文件大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34986632/

10-17 02:37