我希望有人知道我是怎么做到的。
我有这些数据:
0 -> id=1 other_id = 2
1 -> id=1 other_id = 3
2 -> id=1 other_id = 4
3 -> id=2 other_id = 7
4 -> id=2 other_id = 5
现在,在我的循环中,我想推送唯一ID并连接其他id数据,结果将是:
0-> id=1 other_ids = 2,3,4
1-> id=2 other_ids = 7,5
我正在考虑使用临时变量但不能进行数据结构。
顺便说一下,我使用codeigniter,结果来自模型,我想通过php在控制器中操作它。
答案 0 :(得分:0)
我希望能帮到你
第1步:创建班级
public class Person
{
public int id { get; set; }
public int other_id { get; set; }
}
第1步:此代码将帮助您
string output = string.Empty;
List<Person> lst = new List<Person>();
lst.Add(new Person(){ id= 1, other_id = 2});
lst.Add(new Person(){ id= 1, other_id = 3});
lst.Add(new Person(){ id= 1, other_id = 4});
lst.Add(new Person(){ id= 2, other_id = 7});
lst.Add(new Person(){ id= 2, other_id =5 });
List<int> idlst = new List<int>();
idlst = lst.Select(x => x.id).Distinct().ToList();
foreach (int _id in idlst)
{
List<int> other_idlist = lst.Where(x => x.id == _id).Select(x=> x.other_id).ToList();
output += string.Format("id={0} other_ids = {1}", _id, string.Join(",", other_idlist)) + Environment.NewLine;
}
MessageBox.Show(output);