gpt4 book ai didi

c# - 如何检查数组中的字符串是否包含另一个数组中的字符串

转载 作者:太空狗 更新时间:2023-10-29 22:34:14 25 4
gpt4 key购买 nike

主要问题:
好的伙计们,情况是这样的,让我们考虑 2 个字符串数组:

string foo = { "Roses are #FF0000" , "Violets are #0000FF", "Paint it #000000"}
string bar = { "Guns", "Roses", "Violets"}

检索 foo 中包含 bar 中字符串的字符串的“最少代码行”方法是什么?
(即,在这种情况下,foo 的前 2 个元素)

当然,我想避免“手动”完成所有逻辑,因为我确信 Linq 的相交功能更有效,但我不知道如何使用它来执行这项精确的任务。

决胜局:
1 - 如果 foo 包含的字符串包含多于 bar 的一个元素怎么办,

string foo = { "Roses are #FF0000" , "Violets are #0000FF", "Paint it #000000"}
string bar = { "Roses", "Violets", "are"}

我想避免重复?

2 - 如果我有 2 个“bar”数组要根据一个 foo 数组进行检查怎么​​办?
合并 bar1 和 bar2 还是先用 bar1 再用 bar2 执行过滤器更有效?


谢谢,祝您回答愉快 :-)

最佳答案

LINQ 运行良好,是的:

var mixed = foo.Where(x => bar.Any(y => x.Contains(y));

请注意,您仍然只会看到 foo 的每个元素一次,如果有的话。

如果你有多个 bar 数组,你可以使用:

var mixed = foo.Where(x => bar1.Concat(bar2)
.Any(y => x.Contains(y));

关于c# - 如何检查数组中的字符串是否包含另一个数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016941/

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