gpt4 book ai didi

c# - IEnumerable => 独特的字符串[]

转载 作者:行者123 更新时间:2023-11-30 13:24:49 26 4
gpt4 key购买 nike

我收藏了 IEnumerable<sentence> (句子=字符串)

我想将所有句子拆分为单词(例如:.Select(t => t.Split(' ')),然后我需要按单词对该查询进行分组以获得唯一单词列表。

求助

最佳答案

第一个猜测:

var uniqueWords = sentences.SelectMany(s => s.Split(' ')).Distinct();

但是,您可能想要删除标点符号并转为小写;您可以通过将更多字符传递给 Split 并要求它删除空字符串,然后对结果调用 ToLowerInvariant 来做到这一点。

如果输入语句来自SQL,它将是IQueryable而不是IEnumerable,所以Linq会尝试在数据库中执行查询,这限制了你能够做到。

要使 Linq 在内存中执行,为您提供 BCL 的全部功能,请使用:

var uniqueWords = sentences.AsEnumerable().SelectMany(s => s.Split(' ')).Distinct();

AsEnumerable() 的额外调用将​​原始结果从数据库中获取到内存中,这样您就可以正常进行了。

关于c# - IEnumerable<string> => 独特的字符串[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2590782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com