2012-04-12 136 views
0

我把一個連接字符串到一個組件的Tag屬性是這樣的:將一個String []轉換成一個對象並返回到String []?

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

現在我怎麼把它弄出來,因爲標籤是一個對象?試圖做到這一點:

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

我得到的,「‘對象’不包含‘拆分’的定義,並沒有擴展方法‘分割’接受型‘對象’的第一個參數可以發現

回答

8

類型的TagobjectSplit方法是String,你需要投TagString爲了調用Split

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

作爲對象可被鑄造,並從任何其他數據類型,則可以跳過的String.format()完全,並分配一個字符串[]

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

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

,或者使用對象[]如果AThis,AThat,ATheOtherThing是不同的數據類型。

0

除非你有一些驅動需要它作爲一個字符串另一種方式將是一個結構,持有你的三個值,然後只需設置標籤,並將其重新投它。當時不再有格式化和分裂。更重要的是,如果添加第四項,則重構結構,完成工作。

0

Tag轉換回string的安全方法是使用as關鍵字。如果Tag包含其他東西而不是string它不會拋出異常但返回null

string s = Tag as string; 
string[] someStuff = null; 
if (s != null) { 
    someStuff = s.Split(';'); 
} 
相關問題