首页 > 解决方案 > 我如何阅读这一行?

问题描述

这句话究竟是什么意思?

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

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

标签: c#.netstreamwritertextwriter

解决方案


很高兴你对 probramming 充满好奇和抱负。

以下声明

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


推荐阅读