如何计算c#中的某些字符?

pik*_*zzu -1 c# textbox replace

我是C#的新手,我需要制作一个可以在文本框中统计这些字符(š,ž,č)的程序.我把替换方法放入,但是说"替换"方法没有重载需要3个参数.我发现Replace方法不能带3个参数.问题是我不知道我可以使用哪些其他代码.有人可以帮忙吗?

public Form1()
{
    InitializeComponent();
}

private void btn1_Click(object sender, EventArgs e)
{
    lblDolzinaStavka.Text = txtBesedilo.Text.Length.ToString();

    int Sumniki = txtBesedilo.Text.Length - txtBesedilo.Text.Replace("š", "?", "ž").Length;
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

Replace用于将字符串中的一个字符或字符串替换为另一个字符.例如,"mum".Replace("u", "o")将返回"mom".这不计算任何事情的发生 - 这根本不是你想要的方法.

这听起来像你想要的东西:

// Replace "foo" with a more meaningful name - we don't know what the
// significance of these characters is.
int foo = txtBesedilo.Text.Count(c => c == 'š' || c == '?' || c == 'ž');
Run Code Online (Sandbox Code Playgroud)

要么:

char[] characters = { 'š', '?', 'ž' };
int foo = txtBesedilo.Text.Count(c => characters.Contains(c));
Run Code Online (Sandbox Code Playgroud)

这两个片段都使用Enumerable.Count扩展方法,该方法计算集合中有多少项符合特定条件.在这种情况下,"集合中的项目"是"字符txtBesedilo.Text",条件是它是否是您感兴趣的字符之一.