Ich schreibe eine kleine Klasse, in der ich mich bewegen werde, wenn sie benötigt wird wie eine DLL, und sie wird verschiedene Sortieralgorithmen haben. Ich möchte, dass die Funktionen mit beliebigen Listen beliebiger Typen, einschließlich Objekten, arbeiten. So ist es im Grunde wie folgt:Der beste Weg, um zwei generische Werte zu vergleichen?
class TemplateSortings<T>
{
List<T> GNRList;
static void SortBubble<T>()
{
//Do stuff with GNRList, which can be a list of any values (nums, strings, objects)
}
}
Nun ist die Frage, die ich Probleme habe dabei ist - was ist die beste Art und Weise zwei generische Werte zu vergleichen: Überlastung Vergleichsoperatoren oder mit der Klasse IComparable-Schnittstelle erben? Was ist besser und warum?
Es ist ein wenig unwirksam, meinst du nicht? Ich könnte jetzt wissen, welche Variablen ich verwenden werde, also dachte ich daran, einfach die Liste weiterzugeben, um nach GNRList zu sortieren und sie dann zu sortieren. Ich würde nicht wissen, welcher Typ es sein wird ... – Alucard
Das macht keinen Sinn. Sie müssen ihm sagen, wie Sie die Gegenstände sortieren wollen, oder wie würde der Computer das wissen? @ Alucard – Sweeper
Ich wollte die Funktion selbst den Typ der Liste überprüfen. Was passiert, wenn ich mit Dezimalzahlen oder Strings arbeiten muss? Muss ich eine andere SortBubble-Funktion schreiben, aber diesmal mit? Oder kann ich einfach den Typ in der Funktion überprüfen? @Sweeper –
Alucard