यहाँ एक और समाधान का उपयोग किए बिना है HashSet
।
var items = new List<string>() { "one", "one", "two", "one", "two", "zero" };
var uniqueItems = items.Where((item, index) => items.IndexOf(item) == index);
यह इस धागे से अपनाया गया था: जावास्क्रिप्ट - एक सरणी में अद्वितीय मान
परीक्षा:
using FluentAssertions;
uniqueItems.Count().Should().Be(3);
uniqueItems.Should().BeEquivalentTo("one", "two", "zero");
के लिए प्रदर्शन परीक्षण List
, HashSet
और SortedSet
। 1 मिलियन पुनरावृत्तियों:
List: 564 ms
HashSet: 487 ms
SortedSet: 1932 ms
टेस्ट सोर्स कोड (जिस्ट)
HashSet
आइटम के क्रम को खो देगा। एक सुविधा एकList
प्रदान करता है।