You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Linq拆分列表中双词字符串并统计两词相同的条目数?

解决Linq统计相同双单词字符串的问题

没问题,我来帮你补全这段Linq代码,完美实现你要的功能!

完整解决方案代码

针对你的需求,我们可以这样写:

var count = lst.Count(c => 
{
    // 按空格拆分字符串,同时移除空条目(避免多空格/前后空格的干扰)
    var wordParts = c.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    // 先确保拆分后正好是两个单词,再判断两者是否相等
    return wordParts.Length == 2 && wordParts[0] == wordParts[1];
});

用你给出的示例列表测试的话,这段代码会返回2,完全符合预期——因为"bla bla"和"heh heh"都满足两个单词相同的条件。

更简洁的写法(C# 8+)

如果你的项目使用C# 8及以上版本,可以用解构语法让代码更紧凑:

var count = lst.Count(c => 
    c.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries) is [var firstWord, var secondWord] 
    && firstWord == secondWord);

额外注意事项

  • 如果需要忽略大小写(比如"Bla bla"也要被统计),可以把相等判断改成:
    string.Equals(firstWord, secondWord, StringComparison.OrdinalIgnoreCase)
    
  • StringSplitOptions.RemoveEmptyEntries这个参数很关键,它能过滤掉拆分后产生的空字符串(比如原字符串有多个连续空格,或者开头/结尾有空格的情况),避免出现索引越界或者错误判断。

内容的提问来源于stack exchange,提问作者no use for a name

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:58:12