首頁 > 後端開發 > C++ > 如何使用 Lambda 表達式在 .NET 中取得不同的值?

如何使用 Lambda 表達式在 .NET 中取得不同的值?

Linda Hamilton
發布: 2025-01-25 23:06:10
原創
775 人瀏覽過

How Can I Use Lambda Expressions to Get Distinct Values in .NET?

>有效地識別.NET中的唯一值

>

> 從集合中提取獨特元素是經常的編程需求。 。 Distinct()接受Distinct()>,但直接使用lambda表達式進行此比較而不是本地支持。 IEqualityComparer>

>使用IEqualityComparer的簡潔方法

一個解決方案涉及創建

inline:IEqualityComparer>

<code class="language-csharp">var distinctValues = myCustomerList.Distinct(
    EqualityComparer<Customer>.Create((c1, c2) => c1.CustomerId == c2.CustomerId)
);</code>
登入後複製
這種方法雖然功能性,但會感到有些麻煩。

替代:利用

GroupBySelect>

>

更優雅的替代方案繞過了對顯式IEqualityComparer的需求。 這種方法利用GroupBySelect

>
<code class="language-csharp">IEnumerable<Customer> filteredList = originalList
  .GroupBy(customer => customer.CustomerId)
  .Select(group => group.First());</code>
登入後複製

此將基於指定的密鑰(在這種情況下CustomerId)分組元素,然後從每個組中選擇第一個項目,從而有效地過濾副本。 這為使用lambda表達式實現不同的值提供了一個更清潔,更可讀的解決方案。

以上是如何使用 Lambda 表達式在 .NET 中取得不同的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板