我有字符串text =“camel”,然后我想检查文本是否包含字母“m”,所以我循环浏览它并使用以下方法检查:
if (text[i].Equals("m"))
但这永远不会让我真实......为什么?
答案 0 :(得分:3)
答案 1 :(得分:2)
如@MattGreer所述,您目前正在比较一个字符和一个字符串。这是因为您为文字选择了分隔符,因为text[i]
从字符串而不是该字符串的子字符串返回一个字符。
请注意使用string literal分隔符(引用)和character literal分隔符(撇号)之间的区别:
if (text[i].Equals('m'))
另外,正如其他人所说的那样,除非你有某种原因想要遍历每个角色,String.Contains()
似乎会达到预期的目的。
答案 2 :(得分:0)
您需要在我理解的文本中找到所有出现的字母:
string text = "camel";
string lookup = "M";
int index = 0;
while ( (index = text.IndexOf(lookup, index, StringComparison.OrdinalIgnoreCase) != -1)
{
// You have found what you looked for at position "index".
}
我认为你没有比这更快。
祝你好运。
答案 3 :(得分:0)
Kyle C已经给出了答案,所以这就是你完成整个过程的方法,我将以winforms
为例:
private void button1_Click(object sender, EventArgs e)
{
string text = "camel";
if (text.Contains("m") || text.Contains("M"))//also checks for capital M
{
MessageBox.Show("True");
}
}
答案 4 :(得分:-2)
Miraclessss
使用Contains
你问的是“骆驼”是否等同于“m” - 它不是。
“camel”包含“m”。