C# 数组算法

Tobin_han 2017-02-20 10:44:45
有一个表里面的元素是随机的,不确定,如何遍历这个数组将相同元素放到一个数组中。注意:这里的元素是随机的,创建的数组也应该是随机的。


比如:

有一张表存在字段以下字段:
id 姓名 科目 成绩

班级人数不确定,最终想要实现的效果为
数组 张三[]= {{datarow 1},{datarow 2}}
李四[]= {{datarow 1},{datarow 2},{datarow 3},{datarow 4}}
王五[]= {{datarow 1}}



不知道,这样描述是否容易理解,还请大牛帮帮忙解解思路。
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-02-20
  • 打赏
  • 举报
回复
C# 是强类型语言,不能通过值“张三”创建变量 张三[] 所以你应该调整里的思路:用字典或哈希表做载体 如果这样做了的话,那只是的对号入座的问题,你自己就会了
Tobin_han 2017-02-20
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
直接不用groupby查,取到DataTable后,再通过Linq查
DataTable dt;
var query =dt.AsEnumerable().GroupBy(r=>r.Field<string>("name"))
    .Select(g=>
    new {
        Name=g.Key,
        Array = g.ToArray()
    })
非常感谢你的回答。可能是我述说的不清楚,我不需要group,结果下面这样的。 班级人数不确定,最终想要实现的效果为 数组 张三[]= {{datarow 1},{datarow 2}} 李四[]= {{datarow 1},{datarow 2},{datarow 3},{datarow 4}} 王五[]= {{datarow 1}}
Tobin_han 2017-02-20
  • 打赏
  • 举报
回复
引用 3 楼 wanghui0380 的回复:
你是说group么???
对的,在数据库里可以group,但是我不要group,我要根据不同学生的姓名将相同学生的信息保存到数组中,
  • 打赏
  • 举报
回复
直接不用groupby查,取到DataTable后,再通过Linq查
DataTable dt;
var query =dt.AsEnumerable().GroupBy(r=>r.Field<string>("name"))
    .Select(g=>
    new {
        Name=g.Key,
        Array = g.ToArray()
    })
wanghui0380 2017-02-20
  • 打赏
  • 举报
回复
你是说group么???
Tobin_han 2017-02-20
  • 打赏
  • 举报
回复
恩,我是这样查的,GroupBy之后放到DataTable中,就是不知道如何放到数组里面。
  • 打赏
  • 举报
回复
这不就是按名字GroupBy么? 你是用什么方式读取

110,549

社区成员

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

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

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