c# - 我如何阅读这一行?
问题描述
这句话究竟是什么意思?
TextWriter textWriter = new StreamWriter(@System.Environment.GetEnvironmentVariable("OUTPUT_PATH"), true);
我学过 dotnet,但没有参与任何开发项目。现在我正在寻找工作转换,我正在使用一些网站,比如 Hackerrank。所以我只想知道这句话到底做了什么,如果我们省略这句话,代码会发生什么。
解决方案
很高兴你对 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
推荐阅读
- laravel - 将 Laravel Nova 过滤器应用于计算值
- javascript - 更新到最新版本的 react 和 material ui 后在 redux 中编写函数时出错
- python - 获取电子邮件主题的简单方法是什么
- json - 断言一个 Json 对象
- java - 使用 MariaDB (Current_User) 触发 HeidiSQL 中的问题
- javascript - 为什么 popper.js 在 laravel 中不起作用
- java - Java在通配符上限映射中保留泛型类型
- macos - 'gtk/gtk.h' 文件未找到 Mac
- android - 单击在 sharedpreferences 中的 arraylist 中保存整数时
- arrays - 模型模拟。数组长度不匹配