emull Skrevet 4. august 2008 Del Skrevet 4. august 2008 Jeg lager en StringComparer-klasse hvor jeg overskrider Compare(string x, string y)-metoden. I MSDN-dokumentasjonen finner jeg følgende: Return Value Value Meaning Less than zero x is less than y. -or- x is a null reference (Nothing in Visual Basic). Zero x is equal to y. Greater than zero x is greater than y. -or- y is a null reference (Nothing in Visual Basic). Mitt spørsmål er følgende: betyr "less than zero" -1 og "greater than zero" 1? Og hvorfor skriver de ikke bare dette? Hva med -2, -3, 2, 3, etc? Bruker man disse til noe? Og hvor skal en string x sorteres i lista hvis den er "Greater than zero" - før eller etter y? hilsen emil! Lenke til kommentar
BlueEAGLE Skrevet 4. august 2008 Del Skrevet 4. august 2008 Mitt spørsmål er følgende: betyr "less than zero" -1 og "greater than zero" 1? Og hvorfor skriver de ikke bare dette? Hva med -2, -3, 2, 3, etc? Bruker man disse til noe? "less than zero" betyr et tall mindre enn null og "greater than zero" betyr et tall større enn null. Lengre ned i dokumentasjonen står det The return value is the result of the last comparison performed. Det vil altså si at tallet som blir returnert er lik differansen mellom de to tegnene som ble sammenlignet da den første forskjellen ble funnet. Siden denne returnerte verdien kun sier noe om den første forskjellen så er det vanskelig å bruke den til noe fornuftig da den ikke sier noe om den totale forskjellen på de to strengene. Og hvor skal en string x sorteres i lista hvis den er "Greater than zero" - før eller etter y? Compare(x, y) gir et positivt tall hvis x er større enn y og et negativt tall hvis x er mindre enn y. Det vil si at, når du sorterer strenger i stigende rekkefølge (alfabetisk f.eks) så vil x komme etter y hvis Compare(x, y) gir et positivt resultat. Lenke til kommentar
emull Skrevet 5. august 2008 Forfatter Del Skrevet 5. august 2008 Mitt spørsmål er følgende: betyr "less than zero" -1 og "greater than zero" 1? Og hvorfor skriver de ikke bare dette? Hva med -2, -3, 2, 3, etc? Bruker man disse til noe? "less than zero" betyr et tall mindre enn null og "greater than zero" betyr et tall større enn null. Lengre ned i dokumentasjonen står det The return value is the result of the last comparison performed. Det vil altså si at tallet som blir returnert er lik differansen mellom de to tegnene som ble sammenlignet da den første forskjellen ble funnet. Siden denne returnerte verdien kun sier noe om den første forskjellen så er det vanskelig å bruke den til noe fornuftig da den ikke sier noe om den totale forskjellen på de to strengene. Og hvor skal en string x sorteres i lista hvis den er "Greater than zero" - før eller etter y? Compare(x, y) gir et positivt tall hvis x er større enn y og et negativt tall hvis x er mindre enn y. Det vil si at, når du sorterer strenger i stigende rekkefølge (alfabetisk f.eks) så vil x komme etter y hvis Compare(x, y) gir et positivt resultat. hva hvis x er null og y er ikke, hva skal jeg returnere da? takk for hjelpen! Lenke til kommentar
j000rn Skrevet 6. august 2008 Del Skrevet 6. august 2008 hva hvis x er null og y er ikke, hva skal jeg returnere da?takk for hjelpen! ArgumentException? Eller hva med å rett og slett teste selv og se hva du får? Lenke til kommentar
Manfred Skrevet 6. august 2008 Del Skrevet 6. august 2008 Det hadde tatt kortere tid å bare teste selv enn å poste her Lenke til kommentar
j000rn Skrevet 6. august 2008 Del Skrevet 6. august 2008 Et raskt søk på MSDN gav også følgende (så min gjettning om ArgumentException var skivebom): "One or both comparands can be nullNothingnullptra null reference (Nothing in Visual Basic). By definition, any string, including the empty string (""), compares greater than a null reference; and two null references compare equal to each other." Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå