【问题标题】:Distinct By LINQ The Best Way And quickly由 LINQ 区分 最佳方式且快速
【发布时间】:2016-08-07 15:05:38
【问题描述】:

想知道唯一拥有的日期 换句话说,我不会使用它两次一个 IP 地址,我想要日期字段 到目前为止我所做的一切都有效

db.Exposures.DistinctBy(d => d.UserIP).Select(o =>o.ExpouserDate).ToList();

但是花了太多时间有没有更好的方法 原谅我的英语并提前感谢

【问题讨论】:

    标签: c# linq distinct


    【解决方案1】:

    你可以试试这样的:

    var res = db.Exposures
                .GroupBy(ex => ex.UserIp)
                .Select(gr => gr.Max(x = >x.ExpouserDate));
    

    【讨论】:

    • 这是“不同”的两个参数日期和 IP,但我想通过 IP“不同”并选择日期
    • @Yitzhakor50 所以让我们有 50 个 IP,其中 30 个是唯一的,你想要这 30 个 IP?如果是真的,日期是什么时候?你想要他们每个人的最后日期吗?
    • 这是你真正的答案 db.Exposures .GroupBy(exe => exe.ExpouserDate) .Select(gr => new { Date = gr.Key, DistinctIps = gr.Select(x => x .UserIP).Distinct() }).Select(o => o.Date).ToList();
    • 所以不需要选择ips?正确的?你只想要不同的曝光日期?
    • 是的,我没有IP
    猜你喜欢
    • 1970-01-01
    • 2022-07-21
    • 2014-01-16
    • 2017-12-11
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2019-01-12
    相关资源
    最近更新 更多