2012-04-12 29 views
0

ich eine verkettete Zeichenfolge in die Tag-Eigenschaft einer Komponente setzen auf diese Weise:Konvertiere einen String [] in ein Objekt und zurück in einen String []?

Tag = String.Format("{0};{1};{2}", AThis, AThat, ATheOtherThing); 

Nun, wie ich es aus, als Tag ein Objekt? Der Versuch, dies zu tun:

String[] someStuff = Tag.Split(';'); 

ich werde, "‚Objekt‘keine Definition enthält für‚Split‘und keine Erweiterungsmethode‚Split‘ein erstes Argument vom Typ‚Objekt‘die Annahme gefunden werden konnte

Antwort

8

die Art der Tag ist object aber die Split Methode ist auf String. Sie müssen Tag zurück zu String, um werfen Split

string[] someStuff = ((string)Tag).Split(';'); 
nennen
0

als Objekt zu und von jedem anderen Datentyp umgewandelt werden, können Sie die string.Format() vollständig Sprung und ein String []

Tag = new string[] { AThis, AThat, ATheOtherThing }; 

und

string[] someStuff = (string[])Tag; 

oder verwendet Objekt zuweisen [] wenn AThis, AThat, ATheOtherThing unterschiedliche Datentypen sind.

0

Es sei denn, Sie haben einige Fahr Notwendigkeit für sie als String eine andere Art und Weise eine Struktur wäre, die Ihre drei Werte gehalten, dann nur gesetzt Tag, und es warf sie zurück zu bekommen. Nicht mehr formatieren und dann spalten. Noch wichtiger ist, wenn Sie ein viertes Element hinzufügen, die Struktur umstrukturieren, erledigt.

0

Eine sichere Möglichkeit, die Tag zurück in string zu konvertieren, ist die Verwendung des Schlüsselwortes as. Wenn die Tag enthält etwas anderes als ein string es keine Ausnahme werfen, sondern kehrt null

string s = Tag as string; 
string[] someStuff = null; 
if (s != null) { 
    someStuff = s.Split(';'); 
} 
Verwandte Themen