Jeg har siddet og bøvlet hele dagen med at få denne metode til at virke! Håber på hjælp... :-(
Metoden tager en tekst streng og replace Aa med Å, aa med å osv. Jeg kan ikke bruge char da den kun repræsentere én karakter. Laver derfor en characters varialbel, der er af typen char[] array.
Den returnere en tom streng?
public static string ToAscii(this string s) { StringBuilder sb = new StringBuilder(); char[] characters = s.ToCharArray();
for (int i = 0; i < characters.Length; i++) { switch (characters.ToString()) { case "Aa": sb.Append("Å"); break; case "aa": sb.Append("å"); break; } } return sb.ToString(); }
Det har ikke så meget med ASCII at gøre, så navnet er stadig lidt underligt. Anyway, så er der jo princippet med single responsibility 8http://www.remondo.net/solid-principles-csharp-single-responsibility/), nu ved jeg godt at den hører mere klasser til en funktioner, men jeg synes nu alligevel det er lidt overkill at lave if (isToLower) return sb.ToString().ToLower();
når du altid har muligheden for dette efter du har kaldt funktionen. Personligt synes jeg det er irriterende at kalde en funktion som kan alle mulige ting og som er bloated med parameter input.
Men hvorfor bruger du ikke bare .Replace som mbm2007 foreslår?
Men i det hele taget er det jo meget svært sådan at skrive en funktion uden at kende den eksakte anvendelse. Der er flere måder det kan løses på og egentlig ikke noget "rigtig", det kommer an på så meget :)
Hehe først spørger du til hvordan man i en given streng erstatter alle ae,oe,aa med æ,ø,å... Så ligger jeg et svar som du tilsyneladende ignorerer i mere eller mindre grad og pludselig får vi flere detaljer om dit kodeprojekt, og du har nu fuldstændigt samme spørgsmål igen til hvordan man løser det at en char kun kan indeholde ét bogstav... Ydermere ser det nu også ud som om at du spørger ind til konverteringen fra æ,ø,å til ae,oe,aa ? Det vil sige det omvendte af hvad du startede med. Arne_v o Janus kommer også med nogle rigtig gode eksempler som ikke ser ud til at hjælpe. Kan du ikke være sød at præcisere dit problem? Det virker lidt som om du er en Programmør som gerne bare lige vil vise sin kode frem og hurtigt er igang med den næste :-) i al fald forvirrende for lille mig :)
arne_v og janus tak for jeres svar! Har været på ferie osv. og fik ikke givet point, inden jeg tog afsted. Vil i ikke skrive et svar så jeg kan give jer point?
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.