Я пытаюсь получить уникальные значения в списке схожих значений, отличающихся только одним элементом в строке с разделителем канала ... Я продолжаю получать, по крайней мере, один объект должен реализовывать Icomparable. Я не понимаю, почему я продолжаю получать это. Я могу сгруппировать это значение ... Почему я не могу найти максимум ... Я думаю, он ищет что-то для сравнения. Если я получу целочисленную версию, она перестанет на меня кричать? Это последний раз, когда я собираюсь попробовать использовать LINQ ...
var queryResults = PatientList.GroupBy(x => x.Value.Split('|')[1]).Select(x => x.Max());
Я знаю, что могу получить уникальные значения другим способом. Мне просто трудно понять это. В этом списке я знаю, что строка с самым высоким значением среди аналогичных братьев - это та, которую я хочу добавить в список. Как я могу это сделать? Я полностью рисую пробел, потому что я пытался заставить это работать в linq в течение прошлых нескольких дней без удачи ...
foreach (XmlNode node in nodeList)
{
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(node.OuterXml);
string popPatInfo = xDoc.SelectSingleNode("./template/elements/element[@name=\"FirstName\"]").Attributes["value"].Value + ", " + xDoc.SelectSingleNode("./template/elements/element[@name=\"LastName\"]").Attributes["value"].Value + " | " + DateTime.Parse(xDoc.SelectSingleNode("./template/elements/element[@name=\"DateOfBirth\"]").Attributes["value"].Value.Split('T')[0]).ToString("dd-MMM-yyyy");
string patientInfo = xDoc.SelectSingleNode("./template/elements/element[@name=\"PatientId\"]").Attributes["value"].Value + "|" + xDoc.SelectSingleNode("./template/elements/element[@name=\"PopulationPatientID\"]").Attributes["enc"].Value;// +"|" + xDoc.SelectSingleNode("./template/elements/element[@name=\"AdminDate\"]").Attributes["value"].Value;
int enc = Int32.Parse(patientInfo.Split('|')[1]);
if (enc > temp)
{
lastEncounter.Add(enc, patientInfo);
temp = enc;
}
//lastEncounter.Add(Int32.Parse(patientInfo.Split('|')[1]));
PatientList.Add( new SelectListItem { Text = popPatInfo, Value = patientInfo });
}
Я думал об использовании некоторой временной переменной, чтобы выяснить, какое значение является самым высоким, а затем добавить эту строку в список. Я, однако, полностью рисую пробел ...