c# - 在 StreamWriter 前面使用 'using'

标签 c# using streamwriter

<分区>

我正在编写有关如何使用 StreamWriter 保存文本文件的教程。我知道该怎么做,但我开始阅读有关 StreamWriter 类的教程以更好地理解它。在一个示例中,它使用 StreamWriter 放置单词,但在另一个教程中,它没有。为什么是这样?我需要使用 using 吗?

教程如何保存为文本

private void button3_Click(object sender, EventArgs e)
        {
            StreamWriter File = new StreamWriter("data.txt", true);

            File.Write("");
            File.Close();
        }

== C# 中的 StreamWriter 类以及编程示例 ==

namespace StreamWriter_Class
{
    class Program
    {
        static void Main(string[] args)
        {
            string file = @"D:\csharpfile.txt";
        --->    using (StreamWriter writer = new StreamWriter(file))

最佳答案

using 是一种语法糖,可确保您正在使用的资源(没有双关语!)将是 Dispose()d ,无论是否执行对其执行抛出任何异常(这在处理外部资源时并不少见)。

虽然不使用它并不是严格意义上的“错误”,但这是一个很好的做法,您应该尽可能地采用它。

参见 the official documentation了解更多详情。

关于c# - 在 StreamWriter 前面使用 'using',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53617872/

相关文章:

c# - Timer.Change 上的 NullReferenceException

c# - 'System.TypeLoadException' 发生在 > Microsoft.AspNet.Mvc.Core.dll

c# - 使用 {} 语句在内部调用 return 是一种好方法吗?

c# - 使用语句与 IDisposable.Dispose()

java - InputStreamReader 读取 13 和 10 进行回车。为什么?

c# - 将日期发布到 Asp.net 核心 API

c# - Func 在选择器类型之间的 AutoMapper

tfs - WCF RIA 服务中的链接文件未在 TFS 构建服务器中构建

c# - 当 Stream.Read() 存在时,StreamReader 的目的是什么?

c# - 使用点分隔符将 double 写入文本文件