【问题标题】:How do I read this line? [closed]我如何阅读这一行? [关闭]
【发布时间】:2020-05-13 00:50:18
【问题描述】:

这句话到底是什么意思?

TextWriter textWriter = new StreamWriter(@System.Environment.GetEnvironmentVariable("OUTPUT_PATH"), true);

我学过 dotnet,但没有参与任何开发项目。现在我正在寻找工作转换,我正在使用一些网站,比如 Hackerrank。所以我只想知道这句话到底做了什么,如果我们省略这句话,代码会发生什么。

【问题讨论】:

  • 你不明白什么? TextWriter vs StreamWriter? @系统?输出路径?也许您可以分享您的最佳猜测,让我们了解您的困惑所在。
  • TextWriterStreamWriterEnvironment 类有据可查。你不明白什么?

标签: c# .net streamwriter textwriter


【解决方案1】:

很高兴您对编程充满好奇和抱负。

以下陈述

TextWriter textWriter = new StreamWriter(@System.Environment.GetEnvironmentVariable("OUTPUT_PATH"), true);

只需创建一个允许您写入文件系统上的文件的 IO 流。它正在从环境变量“OUTPUT_PATH”中获取要写入的文件路径,该环境变量需要在此代码的外部进行设置。

大概以下代码行会将一些信息记录到文件中。

如果您只是省略了这一行,并且有以下行使用局部变量 textWriter,您的应用程序将无法编译。如果您删除了对该变量的所有引用,则不会将任何内容写入文件。

您应该知道,如果您没有正确处理文件,使用 Streamwriter 可能会使文件在文件系统上处于打开状态和使用状态。我建议每当写入文件时将此行包含在 using 语句中,该语句将自动关闭文件并将缓冲区中的任何内容刷新到文件中。要注意的另一件事是,在写入文件时,流写入器不会自动将缓冲区“刷新”到文件中。当您从文件监视应用程序时,这尤其有趣。

有关使用测试编写器的更多信息,请查看此处的 MS 文档:https://docs.microsoft.com/en-us/dotnet/api/system.io.streamwriter?view=netcore-3.1

【讨论】:

    猜你喜欢
    • 2016-09-15
    • 2015-05-16
    • 2022-08-17
    • 2023-03-12
    • 1970-01-01
    • 2012-12-31
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多