Ich habe eine Listview, die Daten vom TypSortieren von Listview IP
class InfoItem { public string IP { get; set; } public string MAC { get; set; } public string HOST { get; set; } }
Eventhandler PingCompletedCallback bekommt IPs in zufälliger Art und Weise enthält, so können wir `t Auftrag von Ips vorhersagen. Wir müssen sie sortieren. Im mit diesen
if (!Dispatcher.CheckAccess())
{
Dispatcher.Invoke(new Action(() =>
{
lstNetworks.Items.Add(new InfoItem() { IP = e.Reply.Address.ToString(), MAC = macAdress, HOST = hostName });
lstNetworks.Items.SortDescriptions.Add(new SortDescription("IP", ListSortDirection.Ascending));
}));
}
und es ist teilweise funktioniert, aber das Ergebnis sieht wie folgt aus
192.168.1.1 192.168.1.10 192.168.1.2 192.168.1.254 192.168.1.3 und so weiter. ..
Wie können wir das Listview-Elemente in der richtigen Art und Weise
192.168.1.1 192.168.1.2sortieren192.168.1.3 192.168.1.10 192.168.1.254
UPDATE. Ich habe versucht, wie in dieser Frage zu tun:
List<InfoItem> list = new List<InfoItem>();
foreach (var item in lstNetworks.Items) {
list.Add(item as InfoItem);
}
List<InfoItem> list2 = new List<InfoItem>();
list2 = list.Select(Version.Parse).OrderBy(arg => arg).Select(arg => arg.ToString()).ToList();
aber es gibt mir und Ausnahme die Art Argument für die Methode auswählen kann nicht aus der Nutzung zu entnehmen.
Sie müssen erstellen Sie eine benutzerdefinierte Sortierung für die IP-Adresse verwenden könnte . – rbm
Mögliches Duplikat von [So sortieren Sie die Liste der IP-Adressen mit C#] (http://stackoverflow.com/questions/6248039/how-to-sort-list-of-ip-addresses-using-c-sharp) –
@ Evan Trimboli Sortiert Array von ips ist kein Problem, ich muss es sortieren und nicht die Abhängigkeit zwischen IP-MAC und HOSTname zu verlieren. Also muss ich alle Liste sortieren –