c# - 将用户输入写入并保存到桌面上的文本文件
问题描述
我是学习 C# 的新手,我正在尝试创建一个简单的控制台应用程序,它会询问用户一组问题,然后将答案保存到桌面上的 .txt 文件中。但是,我下面的代码似乎不起作用。
static void Main(string[] args)
{
Console.WriteLine("Enter your first name.");
string firstName = Console.ReadLine();
Console.WriteLine("Enter your last name.");
string lastName = Console.ReadLine();
Console.WriteLine("Enter your job title.");
string jobTitle = Console.ReadLine();
Console.WriteLine("What came first, the chicken or the egg?");
string chickenEgg = Console.ReadLine();
string path = @"C:\Users\njones\Desktop\NiallJones.txt";
File.WriteAllText(path, firstName, lastName, jobTitle, chickenEgg);
Console.WriteLine("Your information has been recorded. A copy can be found on your desktop.");
}
我相信问题在于 File.WriteAllText 部分。请有人帮我指出正确的方向,为什么这不起作用,以及我能做些什么来改进这一点?
谢谢!
解决方案
始终检查您尝试使用的功能的文档。
public static void WriteAllText (string path, string contents);
正如你所看到的,有两个参数可以进入这个函数。
要写入文件,您需要编写一个字符串(内容)。c# 中的字符串类型有一个运算符重载 (+) 用于将字符串放在一起。
File.WriteAllText(path, firstName+lastName+jobTitle+chickenEgg);
但是,当您阅读该文件时,您会感到失望:“NameLastNameJobTitleChickenOrEgg”
因此,我建议您在字段之间放置一个分隔符,以便您可以使用该String.split()
函数分解您的字符串并获取各个字段。
您的目标输出将类似于:“Name;LastName;JobTitle;ChickenOrEgg”
推荐阅读
- java - netbeans 图标在设计器中正常,但在运行时失败(maven)
- python-requests - 如何验证下载谷歌驱动器文件的请求
- c++ - 在 OpenGL 中,如何使用 glGetTexImage 获取 GL_TEXTURE_CUBE_MAP_ARRAY 类型纹理的面的像素数据?
- flutter - 如何将数据从 Singleton 传递到 Stateful Widget 类?
- c++ - 如何在 OOP 中正确使用智能指针
- performance - 如何快速填充选择并且仅一次
- linux - 为什么基于软件的 TPM 攻击如此罕见?TPM 如何防范它们?
- c++ - 如何让文本编辑框既可以调整大小又不会让滚动条变得不稳定?
- html - Different navigation title for laptop and mobile device using CSS
- android - R8 说类型被多次定义:在 build\.transforms 和 build\tmp\kotlin-classes