不允许在IEnumerable中重复<keyvaluepair <guid,string>&gt;

时间:2016-02-19 12:28:49

标签: c# .net asp.net-mvc linq

我使用linq获取数据并将数据插入到IEnumerable&gt;中。但有时我得到重复的keyvaluepairs,我不想要那个,因为我在IEnumerable上做了一个ToDictionary(pair =&gt; pair.Key,pair =&gt; pair.Value)。

这是我的代码:

for((i=0; i<100; i++)); do awk -v i=$i 'BEGIN{binsize=60000}{if(binsize*i < NR && NR <= binsize*(i+1)){print}}END{}' my_large_file.txt &> my_large_file_split$i.fastq; done

我如何确保在获取数据后不会重复或删除重复项?

1 个答案:

答案 0 :(得分:1)

我会在查询结束时进行一些更改。当你的主查询逻辑被执行时,让我们节省空间并从你的}).ToList()开始,然后重新定义其余部分以获取你的字典:

var yourExistingQueryLogic = ...
                             }).ToList();

var yourUserDictionary = yourExistingQueryLogic
                         .Select(x=>new {x.UserId, UserName = x.UserName+ " (" + EncryptionUtility.DecryptString(a.CPR).Insert(6, "-") + ")"}) //you can simply build an anonymous object here
                         .Distinct() //this will eliminate duplicates
                         .ToDictionary(x=>x.UserId, x=>x.UserName); // DONE!