所以我有一个学校项目,使用 c# 制作德语语法帮助工具



我最近开始学习c#,所以我得到了一份学校作业,要制作一个德语语法帮助工具。这是一个小组任务,我的任务是:

应用程序从文件中加载预制句子,并随机对这些句子进行小的更改。例如,逗号可以被删除,ies可以被i取代,s可以被ss取代,等等。用户会看到更改后的句子,由他来查找错误。

我试着用绳子。替换并流式传输Reader/Writer,但它不起作用。

StreamReader reader = new StreamReader(File.OpenRead(@"C:UserskamilOneDriveDokumentetest grammatik.txt"));
string fileContent = reader.ReadToEnd();
reader.Close();
fileContent = fileContent.Replace("tier", "aff");
StreamWriter writer = new StreamWriter(File.OpenWrite("C:test grammatik.txt"));
writer.Write(fileContent);
writer.Close();

txt文件中的表示为:";Ein-grosses Tier";我想把";"层";用";Aff";这正是我所期望的,我得到了:

System.IO.IOException:'文件名、目录名或卷标语法不正确。:'C: \Users\kamil\source\repos\test\bin\Debug\netcoreapp3.1\est grammatik.txt''

行:

StreamWriter writer = new StreamWriter(File.OpenWrite("C:test grammatik.txt"));

[链接到我的文件]https://www.dropbox.com/s/p0r3us5o0ik0oju/test.zip?dl=0

问题出在这一行

StreamWriter writer = new StreamWriter(File.OpenWrite("C:test grammatik.txt"));

您需要制作"C:\test grammatik.txt"@"C:test grammatik.txt"

我也不建议你直接写信给c:root,你可能会遇到权限问题,所以制作一个临时文件夹来处理。

此外,正如评论中提到的@Panagiotis Kanavos,一个反斜杠被视为一个制表符,你可以通过一个双反斜杠或添加我的回答中提到的@符号来克服这一点。

replace函数要求字符,而不是字符串

public String Replace(char oldChar, char newChar);

在大多数语言中,字符串用"&";,另一方面,字符使用">

祝你的hw 好运

最新更新