相关疑难解决方法(0)

如何使用.NET获得以字节为单位的人类可读文件大小?

如何使用.NET获得以字节为单位的人类可读文件大小?

示例:输入输入7,326,629并显示6.98 MB

.net c# vb.net

265
推荐指数
14
解决办法
14万
查看次数

.NET是否提供了将字节转换为KB,MB,GB等的简单方法?

只是想知道.NET是否提供了一种干净的方法来执行此操作:

int64 x = 1000000;
string y = null;
if (x / 1024 == 0) {
    y = x + " bytes";
}
else if (x / (1024 * 1024) == 0) {
    y = string.Format("{0:n1} KB", x / 1024f);
}
Run Code Online (Sandbox Code Playgroud)

等等...

.net c# byte megabyte

97
推荐指数
10
解决办法
11万
查看次数

您找到了扩展方法的哪些优点?

C#的"非信徒"问我扩展方法的目的是什么.我解释说,然后您可以向已定义的对象添加新方法,尤其是当您不拥有/控制原始对象的源时.

他提出"为什么不在自己的课堂上添加一种方法?" 我们一直在四处走动(以一种很好的方式).我的一般回答是,它是工具带中的另一个工具,他的回答是它是一种无用的工具浪费......但我认为我会得到一个更"开明"的答案.

有哪些场景你使用了你不能(或不应该)使用的方法添加到你自己的类上的扩展方法?

c# extension-methods

83
推荐指数
9
解决办法
4万
查看次数

String.Format从"2400"获得"2.4k"

有没有办法使用String.Format将数字转换为数字/字符表示.

例如

2400 -> 2.4k
2,600,000 -> 2.6m
Run Code Online (Sandbox Code Playgroud)

.net c# string-formatting

8
推荐指数
3
解决办法
3217
查看次数

获取目录大小的更有效方法

我已经构建了一个递归函数来获取文件夹路径的目录大小.它的工作原理,但随着我必须搜索的目录数量不断增加(以及每个相应文件夹中的文件数量),这是一种非常缓慢,低效的方法.

static string GetDirectorySize(string parentDir)
{
    long totalFileSize = 0;

    string[] dirFiles = Directory.GetFiles(parentDir, "*.*", 
                            System.IO.SearchOption.AllDirectories);

    foreach (string fileName in dirFiles)
    {
        // Use FileInfo to get length of each file.
        FileInfo info = new FileInfo(fileName);
        totalFileSize = totalFileSize + info.Length;
    }
    return String.Format(new FileSizeFormatProvider(), "{0:fs}", totalFileSize);
}
Run Code Online (Sandbox Code Playgroud)

这是在所有子目录中搜索参数路径,因此dirFiles数组变得非常大.有没有更好的方法来实现这一目标?我已经四处寻找,但还没有找到任何东西.

我想到的另一个想法是将结果放入缓存中,当再次调用该函数时,尝试查找差异并仅重新搜索已更改的文件夹.不确定这是不是一件好事......

c# directory recursion search

8
推荐指数
3
解决办法
3万
查看次数

如何在C#中格式化数字,使12523变为"12K",2323542变为"2M"等?

可能重复:
格式化数字,如StackoverFlow(舍入到数千,后缀为K)

如何格式化C#中的数字,使12523.57变为"12K",2323542.32变为"2M"等?

我不知道如何附加正确的数字缩写(K,M等)并显示相应的数字?

所以,

1000 = 1K  
2123.32 = 2K  
30040 = 30k  
2000000 = 2M  
Run Code Online (Sandbox Code Playgroud)

在C#中是否有内置方式来执行此操作?

c# number-formatting

7
推荐指数
1
解决办法
7337
查看次数