5

两者之间有什么区别(CPU 使用率、MSIL 等):

StreamWriter sw = new StreamWriter("C:\test.txt");

和:

StreamWriter sw = File.CreateText("C:\test.txt");

?

4

1 回答 1

7

不多...(通过Reflector

[SecuritySafeCritical]
public static StreamWriter CreateText(string path)
{
    if (path == null)
    {
        throw new ArgumentNullException("path");
    }
    return new StreamWriter(path, false);  // append=false is the default anyway
}

尽管我更喜欢使用 File.* 工厂方法,但它的价值是因为我认为它们看起来比将一堆构造函数参数传递给 Stream 或 StreamWriter 更干净且更具可读性,因为如果你不看的话很难记住哪些重载会做什么定义。

此外,JIT 编译几乎肯定会内联调用,因此即使是单个附加方法调用的微小开销也可能不会产生。

于 2010-07-21T23:24:50.023 回答