Надеюсь, кто-нибудь подскажет, как мне это сделать.
У меня есть эти данные:
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
Теперь в моем цикле я хотел бы выдвинуть уникальные идентификаторы и объединить другие данные идентификаторов, чтобы результат был:
0-> id=1 other_ids = 2,3,4
1-> id=2 other_ids = 7,5
Я думаю об использовании временной переменной, но не могу сделать структуру данных.
Кстати, я использую codeigniter, результат от модели, и я хотел бы управлять им в контроллере через php.
я надеюсь помочь тебе
Шаг 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);
Других решений пока нет …