0 👍
72 lượt xem
bởi (🏅0)
Hi anh em,

Mình đang code C# và có một vấn đề thắc mắc
1. Mình có 1 dictionary
2. Sau đó mình distinct dic này, nhận về một enumrable

Mình mong muốn nhận về một dictionary
Vậy có cách nào làm được điều này ko ạ?

Mình xin chân thành cảm ơn!

1 Câu trả lời

0 👍
bởi
Cách mì ăn liền, dùng ToDictionary, đưa 2 cái selector vào là xong
pairs.ToDictionary(pair => pair.Key, pair => pair.Value)
Cách tổng quát, đang có cái list<pair<K,V>>, muốn thành dict thì cần reduce. Bọn functional programming thì võ công quy về map/reduce hết. Reduce ở C# sử dụng hàm Aggregate:
pairs.Aggregate(
new Dictionary<int, int>(),(acc, pair) =>
{
	acc.Add(pair.Key, pair.Value);
	return acc;
});

P/S: cẩn thận lúc Distinct không đưa comparer vào là nó so cả pair.
bởi (🏅0)
Em xin chân thành cảm ơn :D
Coding Guru là nơi dành cho cộng đồng lập trình viên Việt Nam hỗ trợ nhau về tất cả các vấn đề liên quan đến công nghệ.

Chúng ta hãy cùng nhau xây dựng một cộng đồng công nghệ Việt Nam mạnh mẽ, thúc đẩy và giúp đỡ nhau cùng phát triển, thăng tiến trong sự nghiệp.

***
Nơi đam mê hội tụ
***

Một số câu hỏi gần đây có thể tương tự hoặc liên quan ↓

0 👍
1 trả lời 395 lượt xem
hỏi bởi Blackmousewhite (🏅0) 11/6/2019
0 👍
1 trả lời 24 lượt xem
hỏi bởi ẩn danh 15/9/2021
0 👍
0 trả lời 415 lượt xem
...