2017-11-27 21 views
-2

私は過去にスプリットを使用しているが、これは何らかの理由で少し異なっている、と私はわからない、なぜ...文字列を分割する別の文字列

コード:

string responceuptime = scripting.ReadUntilPrompt(); 
string[] suptime = responceuptime.Split('s'); 
UpTime.Text = suptime; 

エラー:

cannot implicitly convert type string[] to string

+0

'UpTime.Text'は明らかに配列ではなく普通の' string'を期待しています(エラーがあなたに伝えます) - あなたの質問が不明です – UnholySheep

+0

'UpTime.Text'は_string_プロパティの権利でしょうか?文字列の_array_を文字列プロパティに代入するとどうなりますか?それがうまくいくと思うのはなぜですか? – maccettura

+1

[文字列を文字列に変換]の可能な複製(https://stackoverflow.com/questions/4841401/convert-string-array-to-string) – mjwills

答えて

1

あなたの変数suptimestring[]です - 文字列の配列。私はUptime.Textが何であるかはわかりませんが、私はそれが単一の文字列を探していると推測しています。そのため、コンパイラエラーが発生しています。

あなたは、配列のうちの最初の文字列を取得したい場合は、あなたがそうのようにそれを設定できます

UpTime.Text = suptime[0]; 
+0

素敵で簡単な修正。あなたは正しいです、それは単一の文字列を探していました、そして、私はそれを離しました。私はC#noobです!私はタイマーが完了したときに答えてマークします。助けてくれてありがとう! – dwb

3

非常に基本的なもので、何であるか、エラーメッセージから把握することは非常に簡単です。実際に間違っている。 suptimeとして

UpTime.Text = suptime; 

Text特性は、型Stringでありながら配列されるタイプstring[]のものである:

次の行は、ここでの方法によって犯人です。型との間の参照を同じにしなければならない場合は、直面しているこのエラーメッセージが表示されます。

それはあなたがここで達成しようとしているものを上記のコードの行からは不明だが、あなたは、あなたが単一Stringオブジェクトへの配列またはコレクションを割り当てることはできませんTextに単一Stringオブジェクトを割り当てる必要があります。

希望します。

1

String.Splitへの呼び出しの出力は、文字列(String[])の配列です。あなたのコードではをString変数に代入しようとしています。したがって、アプリケーションは例外をスローします。

したがって、配列内で、探している値を特定し、それを指すインデックス(0suptime.Length - 1)を選択する必要があります。たとえば、次のように

UpTime.Text = suptime[0]; // first value of the array 
UpTime.Text = suptime[2]; // third value of the array 
UpTime.Text = suptime[suptime.Length - 1]; // last value of the array 

あなたの分割の結果がある場合:

{"A" "Z" "11:57"} 

、あなたはあなたのUpTime.Textは、時間値のようなものでいっぱいにしたい、それは価値あなたがしなければならないことをちょっと明らかですピックは3番目です。

関連する問題