c# - 使用 LINQ 计算字符串中字母的出现次数
问题描述
我试图实现一段代码,它将返回字符串中指定字母的计数。我可以使用 for 循环来做到这一点,但我发现使用 LINQ 表达式的解决方案更优雅。这是我的代码:
public static int CountAs(string countA)
{
var test = count.Select(x => x == 'a').Count();
return test;
}
我试图计算countA参数中存在多少个小写字母a。我的代码有什么问题?
先感谢您!
更新
我应该使用的方法是Where方法而不是Select方法。使用它解决了我的问题!该函数可以重写为:
public static int CountAs(string input)
{
return input.Where(x => x == 'a').Count();
}
或者,您可以只使用 Count 方法直接过滤掉所需的字母:
public static int CountAs(string input)
{
return input.Where(x => x == 'a').Count();
}
感谢所有前来救援的人!!
解决方案
使用.Where
而不是.Select
. .Where
查找符合您的条件的项目,同时.Select
告诉它如果您需要转换它们,如何返回所述项目。
推荐阅读
- python - Python 获取带有发布者名称的进程列表
- ios - 如何从给定图像访问 JsonData
- r - 在 *apply 中使用 `[`
- python - 以每秒 n 个请求的速率执行命令
- html - Blogger Soho 主题主页列之间的宽度
- java - 我在服务器上得到 java.io.FileNotFoundException 而在本地调试它工作正常
- javascript - 从 href 中删除兄弟姐妹类
- javascript - Python,从 javascript 网站抓取数据
- visual-studio - Docker Container url 无法通过 Windows 10/docker CE/.net Core 上的 localhost 或 ip 访问
- azure - 身份服务器 4 - PasswordSignInAsync 方法抛出 IsNotAllowed=true