zoukankan      html  css  js  c++  java
  • lambda distinct

    public ActionResult Index()
    {
    IList<RegisterModel> regList = new List<RegisterModel>()
    {
    new RegisterModel{ UserName ="zhangsan", Password="123456", ConfirmPassword ="123456"},
    new RegisterModel{ UserName ="li", Password="123456", ConfirmPassword ="123456"},
    new RegisterModel{ UserName ="zhangsan", Password="123456", ConfirmPassword ="123456"},
    new RegisterModel{ UserName ="wangwu", Password="123456", ConfirmPassword ="123456"},
    new RegisterModel{ UserName ="zhangsan", Password="123456", ConfirmPassword ="123456"}
    };
    List<RegisterModel> lambdaList = regList.Distinct(new Compare<RegisterModel>(
    (x, y) => (null != x && null != y) && (x.UserName == y.UserName))).ToList();


    return View();
    }
    public delegate bool EqualsComparer<T>(T x, T y);
    public class Compare<T> : IEqualityComparer<T>
    {
    private EqualsComparer<T> _equalsComparer;
    public Compare(EqualsComparer<T> equalsComparer)
    {
    this._equalsComparer = equalsComparer;
    }
    public bool Equals(T x, T y)
    {
    if (null != this._equalsComparer)
    return this._equalsComparer(x, y);
    else
    return false;
    }
    public int GetHashCode(T obj)
    {
    return obj.ToString().GetHashCode();
    }
    }

    //////////////////******************************////////

    var linqlist = (from r in regList
    group r by r.UserName into g
    select g).ToList();
    foreach (var group in linqlist)
    {
    // 输出组内成员
    foreach (var score in group)
    {
    Console.WriteLine(score);
    }
    }

  • 相关阅读:
    swagger 兼容 docker 转发 配置
    rust 条件编译 Debug Release
    rust-must-know-crates-5ad8 100DayOfRust
    python C# DES 加密转换
    The Little Book of Rust Books
    swiper 禁止滑动
    uniapp自定义凸出的导航栏
    uniapp css实现双排菜单向左滑动
    uniapp开发公众号,微信设置字体大小后,禁止改变页面字体大小
    uniapp接口封装
  • 原文地址:https://www.cnblogs.com/niejun/p/4688600.html
Copyright © 2011-2022 走看看