为了使用File.CreateText()和File.AppendText(),您必须:
为了使用File.AppendAllText(),您只需使用它,如果文件还不存在,它也会创建该文件。
我说的是.Net 3.5
有什么理由像当时的第一种方法那样去做吗?
发布于 2017-02-23 12:17:42
当我们查看实现 of File.AppendAllText时,我们发现它是一个快捷方式,实现方式如下:
using (StreamWriter sw = new StreamWriter(path, true, encoding))
sw.Write(contents);其他方法打开一个流并返回它,它由调用者来写它,传递它,等等。
要问这样一个设计决策背后的原因总是很困难的。在这种情况下,似乎很明显:"All“infix表示调用方将拥有一个应该立即写入的完整字符串,并且不需要保持流打开--它是为方便而添加的,因为这是一个经常使用的用例。
为了支持这一点,我找到了佩托德的引用
然而,在File2.0中,一些额外的静态方法被添加到.NET类中,这些方法具有很大的意义。这些方法允许您在一条语句中打开、读取(或写入)和关闭文件。
为了支持简化的方法,完全删除以前的方法将意味着灵活性的损失--开发人员仍然需要使用流。
https://stackoverflow.com/questions/42415206
复制相似问题