在字符串中写入我的列表的 1 个元素,处理它并重复此操作,直到我完成列表
本文关键字:列表 操作 处理 字符串 我的 元素 | 更新日期: 2023-09-27 18:34:17
我想从我的列表中获取一个元素,将其提供给与之配合使用的方法,然后从我的列表中获取下一个元素,直到我完成整个列表。问题是它仍然在"_rawText = [这里]"之后的部分下划线,我不知道有什么问题。它说有无效的参数。到目前为止,我就是这样:
string _rawText = "";
List<string> _fileNameList = new List<string>();
for (int i = 0; i < _fileNameList.Count; i++)
{
Console.WriteLine("'nDocument " + (i+1) +" of " + _fileNameList.Count + "'n");
_rawText = ReadDocument(_fileNameList[i].ToString());
CheckDocument(_rawText);
AnalyzeResult();
PrintResult();
}
public string ReadDocument(List<string> _fileNameList)
{
if (File.Exists(_rawText))
{
return File.ReadAllText(_rawText);
}
else
{
Console.BackgroundColor = ConsoleColor.DarkRed;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("'nKeine Datei gefunden!'n");
Console.ResetColor();
Console.WriteLine("Soll eine Textdatei unter folgendem Pfad erstellt werden? < j / n >");
Console.WriteLine("Pfad: '"" + _rawText + "'"");
string createFile = "";
do
{
createFile = Console.ReadLine().ToUpper().Trim();
switch (createFile)
{
case "J":
Console.Write("Datei wird erstellt...");
File.Create(_rawText());
if (!File.Exists(_rawText))
{
Console.WriteLine("Datei konnte nicht ertellt werden.");
break;
}
else
{
Console.WriteLine("'nDatei wurde erfolgreich erstellt.");
Console.BackgroundColor = ConsoleColor.DarkYellow;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Hinweis:");
Console.ResetColor();
Console.WriteLine("Bitte den zu überprüfenden Text in die Datei schreiben und das Programm erneut starten.");
break;
}
case "N":
Console.WriteLine("Programm wird beendet . . .");
Thread.Sleep(350);
Environment.Exit(0);
break;
case "LOL":
while (true)
Console.Write("LOL---");
break;
default:
Console.WriteLine("");
Console.BackgroundColor = ConsoleColor.Gray;
Console.ForegroundColor = ConsoleColor.Black;
Console.WriteLine("Falsche Eigabe. Bitte gültigen Buchstaben eingeben. < j / n >");
Console.ResetColor();
Console.WriteLine("");
break;
}
} while (createFile != "J" && createFile != "N");
return string.Empty;
}
}
问题是 ReadDocument 接受字符串列表,而您只传入一个字符串。但是该方法无论如何都不使用该参数。它使用的是未在方法中定义的_rawText。似乎您在这里遇到了多个问题。但是您最初的问题是在需要List<string>
时传递字符串。
您的 ReadDocument()
方法需要一个完整的 List 作为参数,但您传递的是一个字符串。根据循环中的代码,您应该更改 ReadDocument()
的签名以接收字符串:
public string ReadDocument(string fileName)
{
if (File.Exists(fileName))
{
return File.ReadAllText(fileName);
}
else
{
//...
}
}