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

本文关键字:字符 何计算 计算 | 更新日期: 2023-09-27 18:07:59

我是c#新手,我需要编写一个程序,可以在文本框中计算这些字符(*,*,*)。我把replace方法放进去,但是它说没有重载方法" replace "有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;
}

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

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 == 'ž');

或:

char[] characters = { 'š', 'č', 'ž' };
int foo = txtBesedilo.Text.Count(c => characters.Contains(c));

这两个片段都使用Enumerable.Count扩展方法,该方法计算集合中有多少项符合特定条件。在本例中,"items In a collection"是"characters In txtBesedilo.Text ",条件是它是否是您感兴趣的字符之一。

int count = txtBesedilo.Text.Count(a => a == 'š' || a == 'č' || a == 'ž')

您可以使用LINQ:

int result = txtBesedilo.Text.Count(x => (x == 'š' || x == 'ž' || x == 'č' ));