'如果'字符数或不同的值

时间:2015-09-03 10:30:30

标签: c#

请原谅垃圾标题,我不知道如何正确地说出来。我想知道如何使用这段代码:

int cnt = 0;
foreach (char c in test) {
  if (c == '&') cnt++;
}

来自this question,而不是在'只是'的计数中加1 &,为&@%的点数添加1?

4 个答案:

答案 0 :(得分:7)

您可以使用.Count并使用Linq

直接计算
 var cnt = test.Count(c => c == '&' || c == '@' || c == '%');

答案 1 :(得分:4)

这很简单,只需添加更多条件:

int cnt = 0;
foreach (char c in test) {
    if (c == '&' || c == '@' || c == '%') cnt++;
}

答案 2 :(得分:3)

您可以使用正则表达式:

cnt = Regex.Matches(test, "[&@%]").Count

答案 3 :(得分:1)

string pattern = "&@%";
int cnt = 0;
foreach (char c in test)
{
    if (pattern.IndexOf(c) != -1) cnt++;
}