【问题标题】:C# counting number of items in a stringC#计算字符串中的项目数
【发布时间】:2021-03-25 18:48:56
【问题描述】:

谁能告诉我这行代码是什么(c#):

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

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

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

【问题讨论】:

  • 您可以将 'x =>' 中的 'x' 读取为迭代器,将 '=>' 部分读取为方法的表达式体
  • MSDN 链接expression lambda
  • 旁注:var count = user_input.Count(x => x == ' '); 就够了,ToCharArray() 在这里是多余的

标签: c# arrays char counting


【解决方案1】:

这会将字符串变成单个字符并计算所有作为空格的单个字符 (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 ( => )

【讨论】:

  • 非常有帮助
猜你喜欢
  • 2012-11-06
  • 1970-01-01
  • 2012-11-14
  • 2013-11-02
  • 2023-02-04
  • 1970-01-01
  • 2017-04-19
  • 2018-04-20
相关资源
最近更新 更多