首页 新闻 会员 周边 捐助

C# mvc linq Distinct

0
[已解决问题] 解决于 2018-04-04 16:47

怎么修改Distinct 让它不默认去除Value中的重复,我想让它去除Text中的重复  ,,

问题补充:

我还有六个豆子 拿不出悬赏了。。。。。。。。

敲代码带的主页 敲代码带 | 初学一级 | 园豆:0
提问于:2018-04-04 16:09
< >
分享
最佳答案
1
 public class TW_AddressComparer : IEqualityComparer<TW_Address>
    {
        public bool Equals(TW_Address x, TW_Address y)
        {
            return Convert.ToBoolean(string.Compare(x.Text, y.Text, true) == 0);
        }

        public int GetHashCode(TW_Address obj)
        {
            if (Object.ReferenceEquals(obj, null)) return 0;
            int hashProductName = obj.Text == null ? 0 : obj.Text.GetHashCode();
            return hashProductName;
        }
    }

调用

.Distinct(new TW_AddressComparer()).ToList();

奖励园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2018-04-04 16:35
其他回答(2)
1

自己实现 IEqualityComparer<TSource> 接口

dudu | 园豆:30778 (高人七级) | 2018-04-04 16:30
1

你直接groupby吧.

.gourpby(a=>a.text)

.select(a=>new{text=a.key,value=a.max(n=>n.value)})

吴瑞祥 | 园豆:29449 (高人七级) | 2018-04-04 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册