首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

【共享】根据属性名称去除集合重复项,该怎么解决

2012-03-18 
【共享】根据属性名称去除集合重复项利用linq写个方法。根据属性名去除 集合重复项。欢迎大家探讨C# codepubli

【共享】根据属性名称去除集合重复项
利用linq写个方法。根据属性名去除 集合重复项。欢迎大家探讨

C# code
public IList<T> FilterRepeat<T>(IList<T> t, string attName){    if (t.Count <= 0)        return t;    #region 查找attName所在的位置    int index = -1;    for (int i = 0; i < t[0].GetType().GetProperties().Count(); i++)    {        if (t[0].GetType().GetProperties()[i].Name == attName)        {            index = i;            break;        }    }    #endregion    if (index == -1)        return t;    IList<T> result = new List<T>();    var sr = from s in t group s by s.GetType().GetProperties()[index].GetValue(s, null);    foreach (var group in sr)        result.Add(group.ToList()[0]);    return result;}


[解决办法]

[解决办法]
去除重复项可以用 Enumerable.Distinct

热点排行