簡體   English   中英

使用linq和c#

[英]Using linq with c#

我之前從未使用過linq,但想在我的代碼中開始使用它。

我有2個字符串數組。

 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做到這一點。

您可以使用Enumerable.Except來生成集合差異:

var rotten = allFruits.Except(healthyFruits);

如果您需要再次使用數組,請使用ToArray

Except擴展方法當然是做你要求的最好的方法,但嚴格來說它不是LINQ。 LINQ是“語言集成查詢”,它是一種擴展方法的應用,它們被集成到語言中。

因此,例如,要使用LINQ對您的請求進行編碼,您可以這樣做:

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

var results = query.ToArray();

只是有點挑剔。 :-)

試試這樣

var fruits = allFruits.Except(healthyFruits);

現在我需要得到腐爛的水果,這些都是全熟的 - 健康的水果
我需要字符串[] rottenFruits

創建一個新的字符串數組並用allfruits填充它,不包含在healthyFruits中並將其轉換為數組:

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

別忘了添加: using System.Linq; 在你的班級頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM