0

この方法で、連結された文字列をコンポーネントの Tag プロパティに入れています。

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

Tag はオブジェクトなので、どうすればそれを取得できますか? これをしようとしています:

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

'object' には 'Split' の定義が含まれておらず、タイプ 'object' の最初の引数を受け入れる拡張メソッド 'Split' が見つかりませんでした」

4

4 に答える 4

0

文字列としての運転の必要性がない限り、別の方法は、3つの値を保持する構造体であり、タグを設定して、元に戻すことができます。その後、フォーマットや分割は不要です。さらに重要なことに、4番目の項目を追加する場合は、構造体をリファクタリングして、作業を完了します。

于 2012-04-12T21:20:01.770 に答える
0

オブジェクトは他のデータ型との間でキャストできるため、string.Format()を完全にスキップして、string[]を割り当てることができます。

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

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

または、AThis、AThat、ATheOtherThingが異なるデータ型の場合は、object[]を使用します。

于 2012-04-12T21:04:58.037 に答える
0

Tagback をに変換する安全な方法は、キーワードstringを使用することです。に a以外の何かが含まれているas場合、例外はスローされずに返されますTagstringnull

string s = Tag as string;
string[] someStuff = null;
if (s != null) {
    someStuff = s.Split(';');
}
于 2012-04-12T21:23:43.737 に答える