Avatar billede koppelgaard Praktikant
18. maj 2007 - 12:37 Der er 13 kommentarer og
1 løsning

Sammenligning af strenge

hvis man har et objekt, der er indentificered med et cprnr som er en string, er det så ukorrekt at bruge sammenligningen :

kontakt1.Cpr==kontakt2.Cpr;
for at finde ud af om der er tale om samme kontakt eller skal man bruge

kontakt2.Cpr.compareTo(kontakt1.Cpr) ==0;
Avatar billede mikkel_sommer Nybegynder
18. maj 2007 - 12:40 #1
Du kan sagtens bruge:

    kontakt1.Cpr==kontakt2.Cpr;
Avatar billede koppelgaard Praktikant
18. maj 2007 - 12:53 #2
Puha var godt. Ellers skulle jeg til at rette en masse steder.

kontakt2.Cpr.compareTo(kontakt1.Cpr) er måske mere relevant ved sortering af en strengliste ?
Avatar billede mikkel_sommer Nybegynder
18. maj 2007 - 12:54 #3
præcis, compareTo skal defineres hvis man vil bruge sort metoden på eksempelvis objekter i en arraylist.
Avatar billede koppelgaard Praktikant
18. maj 2007 - 13:49 #4
Pointene er dine.
Sender du et svar ?
Avatar billede skov_p Praktikant
19. maj 2007 - 00:57 #5
Eller kontakt1.Cpr.Equals(kontakt2.Cpr)
Du kan også bruge String.Compare(str1, str,2, true) hvor du med true/false kan vælge om der skal tages hensyn til store og små bogstaver,
Avatar billede koppelgaard Praktikant
19. maj 2007 - 12:58 #6
Men
kontakt1.Cpr==kontakt2.Cpr;
er korrekt nok, hvis man konverterer til enten store eller små bogstaver  ?
Avatar billede skov_p Praktikant
19. maj 2007 - 13:43 #7
Ja, du kan feks. lave ToUpper() men har du mange steder du skal sammenligene strenge bliver det let grim kode

Du kan feks som jeg lave din egen metode
-------------------------------------------------------------------
public static bool EqualsIgnoreCase(string strA, string strB) {
      return string.Compare( strA, strB, true )==0;
    }
-------------------------------------------------------------------

Og så skriver du

if(EqualsIgnoreCase(kontakt1.Cpr,kontakt2.Cpr)){
bla, bla
}

hvilket jeg synes er nemmere at læse, så er du fri for at huske ToUpper hele tiden.
En anden ting er performance.

Jeg gik fra 900ms til 600ms for at udføre noget string håndtering ved at gå fra ToUpper til min EqualsIgnoreCase
Avatar billede koppelgaard Praktikant
19. maj 2007 - 17:49 #8
Smart!
Kan I bruge point, nogen af jer eller er I lige glade ?
Avatar billede skov_p Praktikant
19. maj 2007 - 19:23 #9
Jeg snupper gerne et psr stykker :o)
Avatar billede koppelgaard Praktikant
20. maj 2007 - 12:41 #10
venter lige lidt på mikkel for at se om han også vil have point.
Avatar billede koppelgaard Praktikant
20. maj 2007 - 16:17 #11
Der ser ikke ud til, at han vil ha' point. Så får du dem, jeg har.
Avatar billede mikkel_sommer Nybegynder
21. maj 2007 - 08:11 #12
Beklager fik ikke lige åbnet eksperten i weekenden.
Avatar billede koppelgaard Praktikant
25. maj 2007 - 08:45 #13
Ja nu er pointene væk - beklager
Avatar billede mikkel_sommer Nybegynder
25. maj 2007 - 08:58 #14
Det går nok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester