我有一个正在处理的小型控制台应用程序,它返回几个 0 而不是实际的字数。我也注意到在某些方面我的逻辑会有缺陷,因为我在计算空格。这通常不会计算字符串中的最后一个单词。关于如何修复我的代码的任何建议。谢谢。
static void Main()
{
bool fileExists = false;
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string file = filePath + @"\wordcount.txt";
fileExists = File.Exists(file);
if (fileExists)
{
Console.WriteLine("{0} contains the following", file);
Console.WriteLine(File.ReadAllLines(file));
foreach (char words in file)
{
int stringCount = 0;
if (words == ' ')
{
stringCount++;
}
Console.WriteLine(stringCount);
}
}
else
{
Console.WriteLine("The file does not exist, creating it");
File.Create(file);
}
Console.ReadLine();
}
我已经对其进行了编辑,以便我检查内容而不是文件路径(这里的菜鸟犯了菜鸟错误)。我仍然觉得我在 foreach 循环中使用 if 语句的逻辑很糟糕。
if (fileExists)
{
Console.WriteLine("{0} contains the following", file);
string[] contents = File.ReadAllLines(file);
foreach (string words in contents)
{
int stringCount = 0;
if (words == " ")
{
stringCount++;
}
Console.WriteLine(stringCount);
}
}