读书人

这个Linq查询为什么返回重复的记录解决

发布时间: 2012-01-12 22:11:58 作者: rapoo

这个Linq查询为什么返回重复的记录
IEnumerable<IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo>> group =
typeof(String).GetMembers().
GroupBy(member => member.MemberType);

foreach(IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo> g in group)
foreach (System.Reflection.MemberInfo mi in g)
Console.WriteLine(g.Key + ":" + mi.Name);

[解决办法]
那是因为有重载

C# code
        [TestMethod]        public void Test01()        {            IEnumerable<IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo>> group =                                                        typeof(String).GetMembers().                                                        GroupBy(member => member.MemberType);            foreach (IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo> g in group)                foreach (System.Reflection.MemberInfo mi in g)                    Console.WriteLine(g.Key + ":" + mi.Name);            typeof(String).GetMembers()                .Select(p => new { MemberTypesName = p.MemberType.ToString(), MemberInfo = p.Name })                .Distinct()                .GroupBy(p => p.MemberTypesName)                .ToList()                .ForEach(p => p.ToList().ForEach(p1 => Console.WriteLine(p1.MemberTypesName + ":" + p1.MemberInfo)));        } 

读书人网 >.NET

热点推荐