使用StreamWriter构造函数和File.CreateText之间的区别

时间:2010-07-21 23:20:27

标签: c# file io streamwriter

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

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

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

1 个答案:

答案 0 :(得分:6)

不多......(通过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编译几乎肯定会内联调用,因此即使是单个附加方法调用的微不足道的开销也可能不会发生。