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);
    }
    }

  • 相关阅读:
    PHP输出日志,json美化
    php获取项目路径
    16进制颜色,正则
    doctrine/instantiator
    cn.archive.ubuntu.com 慢的问题
    yzalis/identicon 像素头像
    Shell 判断进程是否存在
    shell 2>&1
    shell 判断是否继续
    shell
  • 原文地址:https://www.cnblogs.com/niejun/p/4688600.html
Copyright © 2011-2022 走看看