Linq问题他求教

倒大霉的上帝 2012-11-05 06:07:23
现有类如下:

public class TestClass
{
public string userName { get; set; }
public int Age { get; set; }
public string QQCode { get; set; }
}


代码如下

List<TestClass> tests = new List<TestClass>();
tests.Add(new TestClass { userName = "张三", Age = 12, QQCode = "11111" });
tests.Add(new TestClass { userName = "张三", Age = 12, QQCode = "22222" });
tests.Add(new TestClass { userName = "李四", Age = 13, QQCode = "33333" });
tests.Add(new TestClass { userName = "李四", Age = 13, QQCode = "44444" });
tests.Add(new TestClass { userName = "李四", Age = 13, QQCode = "55555" });
tests.Add(new TestClass { userName = "王五", Age = 14, QQCode = "66666" });
tests.Add(new TestClass { userName = "赵六", Age = 15, QQCode = "77777" });

var v = from p in tests
group p by p.userName into g
select new {
userName =g.Key,
Count=g.Count() ,
QQCodes=???
};


在QQCodes处 我想得到同一个的所有QQ集合,比如张三,就应该是"11111,22222" 李四就是"33333,44444,55555" 这里的代码应该怎么写了?
...全文
147 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hauk 2012-11-05
  • 打赏
  • 举报
回复

var result = tests.Where(tc => tc.userName == "李四").Select(qq => qq.QQCode);
string qqCodes = string.Join(",", result.ToArray());
或者这样也可以
Hauk 2012-11-05
  • 打赏
  • 举报
回复

            var result = from tc in tests where tc.userName == "李四" select tc.QQCode;
            string qqCodes = string.Join(",", result.ToArray());
EnForGrass 2012-11-05
  • 打赏
  • 举报
回复

 var v = from p in tests 
                    group p by p.userName into g 
                    select new { 
                                    userName =g.Key,
                                    Count=g.Count() ,
                                    QQCodes = string.Join(",", g.Select(y => y.QQCode.ToString()).ToArray())
                                };
//或者下面这样
            var v1 = tests.GroupBy(p => p.userName).Select(p => new {
                userName = p.Key, 
                Count = p.Count(), 
                QQCodes = string.Join(",", p.Select(y => y.QQCode.ToString()).ToArray())
            });
threenewbee 2012-11-05
  • 打赏
  • 举报
回复
QQCodes = string.Join(",", g.Select(y => y.QQCode.ToString()))

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧