首页 > 解决方案 > C#计算字符串中的项目数

问题描述

有人可以告诉我这行代码是什么(c#):

我正在尝试计算字符串中的空格,这就是该代码行的出现方式。我了解转换为 char 数组部分,但参数部分我不明白它是如何完成 x 和等于大于符号

var count = user_input.ToCharArray().Count(x => x == ' ');

如果有任何更简单的计算方法,请拓宽我的视野。

标签: c#arrayscharcounting

解决方案


这使字符串变为单个字符并计算所有x作为空格的单个字符 ( )。

它有点等价于:

    int count = 0;
    foreach(var c in user_input)
        if (c == ' ')
            count += 1;

    Console.WriteLine(count);

您还可以在空格处拆分字符串 - 结果数组比空格数长 1:

var user_input = "This is a test with      some spaces inside"; 
    
Console.WriteLine(user_input.Split(new char[]{' '}).Length - 1);

输出:

12

这种方法不如它创建一个不需要的数组好 - 计算空格是要走的路。

请参阅C# Lambda ( => )


推荐阅读