C#需要关于如何查找和计算字母后a的帮助示例:s-

C#需要关于如何查找和计算字母后a的帮助示例:s-,c#,startswith,C#,Startswith,因此,我试图计算并显示以特定字母开头的单词数量,然后是一个-例如,x射线之类的单词。我想出了如何计算以字母x开头的单词,但在剩下的部分似乎无法计算。当我尝试进行小的调整时,一切都会发生故障,例如,只需将“x”更改为“x-”,因为我使用==并且我无法将字符串与==进行比较。如果您能提供任何帮助,将不胜感激。代码已发布 int countWordsStartingWithX = 0; for (int k = 0; k < phrase.Length; k++)

因此,我试图计算并显示以特定字母开头的单词数量,然后是一个-例如,x射线之类的单词。我想出了如何计算以字母x开头的单词,但在剩下的部分似乎无法计算。当我尝试进行小的调整时,一切都会发生故障,例如,只需将“x”更改为“x-”,因为我使用==并且我无法将字符串与==进行比较。如果您能提供任何帮助,将不胜感激。代码已发布

        int countWordsStartingWithX = 0;
        for (int k = 0; k < phrase.Length; k++)
        {
            if (phrase[k] == 'X' || phrase[k] == 'x')
            {
                if (k == 0)
                    countWordsStartingWithX++;
                else if (phrase[k - 1] == ' ')
                    countWordsStartingWithX++;
            }
        }

        Console.WriteLine("There are {0} words starting with x or X in {1}", countWordsStartingWithX, phrase);
int countwords从x=0开始;
for(int k=0;k
您不需要逐个字符查找它。我建议您通过单词和
string.Split
string.StartsWith
,以及
LINQ
Count
,这样做可以:

string sentence = "this is a test sample! x-ray is here Xsense Xback xbox xmove is all here!";
string[] phrases = sentence.Split(' '); //define this as string[] not char[]
int withx = phrases.Count(x => x.ToLower().StartsWith("x"));
int withx_minus = phrases.Count(x => x.ToLower().StartsWith("x-"));
Console.WriteLine("There are {0} words starting with x or X and {1} words with x- or X- in {2}", withx, withx_minus, sentence);
Console.ReadKey();
您得到的错误是:

运算符==不能应用于char和string类型的操作数


是因为您的
短语
char[]
而不是
string[]
,因此您不能有多个char:
x-
是两个char,不允许,它被视为
字符串

“我不能将字符串与==”-您的意思是不允许吗?否则,您实际上可以这样做。您可以为此使用linq查询<代码>var countWordsStartingWithX=phrase.Split(新[]{''},StringSplitOptions.None).Count(w=>w.ToLower().Contains(“x射线”)完全公开:C是全新的#这是我的第一个任务,我的意思是当我将代码更改为“X-”和“X-”时,错误列表中出现了一个错误,表示运算符==不能应用于char和stringCool类型的操作数,我将使用ReadKey()运行时是否保持控制台窗口打开以获得更好的观看体验?是,先生,回答这两个问题