C# 将linq与c结合使用#

C# 将linq与c结合使用#,c#,linq,C#,Linq,我以前从未使用过linq,但我想开始在代码中使用它 我有两个字符串数组 string[] allFruits = allFruitTextHiddenBox.Text.Value.Trim('|').Split('|'); string[] healthyFruits = GetHealthyFruits().Trim('|').Split('|'); // now I need to get rotten fruits which are ones allfruit - health

我以前从未使用过linq,但我想开始在代码中使用它

我有两个字符串数组

 string[] allFruits = allFruitTextHiddenBox.Text.Value.Trim('|').Split('|');
 string[] healthyFruits = GetHealthyFruits().Trim('|').Split('|');

 // now I need to get rotten fruits which are ones  allfruit - healthyfruits

 // I need string[] rottenFruits please
只是不确定如何使用linq进行设置。

您可以使用产生设置差异的:

var rotten = allFruits.Except(healthyFruits);
如果您再次需要阵列,请使用
ToArray

这样做

var fruits = allFruits.Except(healthyFruits);
现在我需要得到腐烂的水果,它们都是水果-健康水果
我需要一些水果

创建一个新的字符串数组,并用allfruits(未包含在healthyFruits中)填充该数组,然后将其转换为数组:

string[] rottenFruits = allFruits.Except(healthyFruits).ToArray();

不要忘记添加:
使用System.Linq
在你的班级中名列前茅。

除了扩展方法当然是实现你要求的最好方法,但严格来说,它不是LINQ。LINQ是“语言集成查询”,是扩展方法在某种程度上集成到语言中的应用

例如,要使用LINQ对请求进行编码,可以执行以下操作:

var query =
    from fruit in allFruits
    where !healthyFruits.Contains(fruit)
    select fruit;

var results = query.ToArray();

只是有点挑剔而已。:-)

你已经试过什么了吗?你有没有学习过linq的一些基本知识???我建议你阅读。@AdamHouldsworth谢谢,现在转到+1:
系统。linq
是必需的,它可以使
除了
之外都能工作,所以它有点像。“但你是对的。”麦克斯莫默斯泰格——很好。很高兴看到我不是唯一一个挑剔的人。LOLIt完全是LINQ,您描述的是查询语法和方法语法之间的区别。实际上,查询语法被转换为方法语法,所以我认为这与您所说的相反。