backup Skrevet 14. august 2007 Skrevet 14. august 2007 Under compact framework har jeg denne c#-kode: char[] sep = { '|' }; Array a = this.datainn.Split(sep); string c0 = a.GetValue(0); string c1 = a.GetValue(1); string c2 = a.GetValue(2); På : string c0 = a.GetValue(0); får jeg feilmeldinga: "Error 1 Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)". Hvordan får jeg verdien i a(0) over i c0 og tilsvarende for a(1) og a(2)?
serverside Skrevet 14. august 2007 Skrevet 14. august 2007 GetValue() returnerer Object. Derfor må du enten cast'e til string eller bruke ToString() char[] sep = { '|' }; Array a = this.datainn.Split(sep); string c0 = a.GetValue(0).ToString(); string c1 = a.GetValue(1).ToString(); string c2 = a.GetValue(2).ToString();
Manfred Skrevet 14. august 2007 Skrevet 14. august 2007 Det er vel strengt tatt tre måter man kan gjøre det på string c0 = Convert.ToString(a.GetValue(0)); string c1 = a.GetValue(0).ToString(); string c2 = (String)a.GetValue(0);
backup Skrevet 14. august 2007 Forfatter Skrevet 14. august 2007 Det er vel strengt tatt tre måter man kan gjøre det på string c0 = Convert.ToString(a.GetValue(0)); string c1 = a.GetValue(0).ToString(); string c2 = (String)a.GetValue(0); 9279756[/snapback] Jeg tok den første, og den funka perfekt. Så tusen takk Manfred for din raske og gode hjelp!
j000rn Skrevet 14. august 2007 Skrevet 14. august 2007 Funker ikke dette da? string[] tull = minstring.Split('|'); string1 = tull[0]; string2 = tull[1]; string3 = tull[2];
CronoMan Skrevet 5. september 2007 Skrevet 5. september 2007 [TypeConverter(StringArrayTypeConverter)] public string[] stringarray { get { } set { } }
GeirGrusom Skrevet 8. september 2007 Skrevet 8. september 2007 (endret) Dere bare rører alle sammen string[] arr = "Hei|På|Deg".Split(new char[] {'|'}) string c0 = arr[0]; string c1 = arr[1]; string c2 = arr[2]; Dessuten må du caste hvis du skal convertere fra object til string hvis du bruker Array istedet: string s = a.GetValue(0) as string Det skal fungerer glimrende, hvis ikke kan du også bruke string s = a.GetValue(0).ToString() Endret 8. september 2007 av GeirGrusom
Manfred Skrevet 10. september 2007 Skrevet 10. september 2007 evt. string s = (string)a.GetValue(); Sånn dersom du ville ha flere forskjellige måter å caste på
j000rn Skrevet 10. september 2007 Skrevet 10. september 2007 Sånn dersom du ville ha flere forskjellige måter å caste på 9463448[/snapback] 10 poeng hvis du beskriver hvilke forskjeller de vil ha i praksis også :-P
GeirGrusom Skrevet 10. september 2007 Skrevet 10. september 2007 Dersom a.GetValue() er av en annen type en string, og har overridet operator string, ville det gitt et annet resultat får jeg noen penger, eller er poeng verdiløst?
j000rn Skrevet 10. september 2007 Skrevet 10. september 2007 (endret) Dersom a.GetValue() er av en annen type en string, og har overridet operator string, ville det gitt et annet resultat får jeg noen penger, eller er poeng verdiløst? 9463572[/snapback] 3.33333333333333333333333333333333333333333 poeng siden du kun svarte på 1 av dem... Edit: Var litt mangelfult svar, så du får kun 2 poeng. Hva skjer om a == null || a ikke har overridet .ToString()? Endret 10. september 2007 av jorn79
GeirGrusom Skrevet 10. september 2007 Skrevet 10. september 2007 Hihi 1) ObjectNullException 2) TypeCastException 3) Dersom man bruker "as string" istedet for "(string)" hvis a ikke er av typen string, vil "as" returnere null, og du vil få følgefeilen ObjectNullException.
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å