1

3 つのタブを持つフォームがあり、ユーザーはフォームにドロップダウンを入力してから [保存] を押します。

次に、各回答の間にセパレーターを付けてテキストファイルに文字列を書き込みます。以下で行ったこと以外に、より良い方法はありますか?

Dim tesstring As String = " test " & _
         Separator & _
         answer1 & _
         Separator & _
         answer2 & _
         Separator & _
         answer 3 & _
         Separator & _
         answer4 & _
         Separator & _
         answer5 & _
         Separator & _
         Combo_BS.SelectedItem.ToString.Substring(0, 6) & _
         Separator & _
         answer6 & _
         Separator & _
         answer7 & _
         Separator & _
         answer8 & _
         Separator & _
         answer9 & _
         Separator & _
         answer10 & _
         Separator & _
         answer11 & _
         Separator & _
         answer12 & _
         Separator & _
         answer13 & _
         Separator & _
         answer14 & _
         Separator & _
         answer15 & _
         Separator & _
         answer16 & _
         Separator & _
         answer17 & _
         Separator & _
         answer18 & _
         vbCrLf
4

2 に答える 2

3

以下で行ったこと以外に、より良い方法はありますか?

はい。すべての値の配列を作成してから、次を使用しますString.Join

Dim tesstring As String = String.Join(Separator, values) & vbCrlf

理想的には、最初から 18 の異なる変数を持たないことanswerです。それらをコレクションに含めることはできませんか?

于 2012-12-07T08:30:13.100 に答える
0

Jon の回答を拡張するには、回答のコレクションを作成します。たとえば、すべての回答が「Panel1」というパネルのテキストボックスにある場合:

    Dim answers = From x In Me.Panel1.Controls.OfType(Of TextBox)() Select x.Text
    Dim tesstring As String = String.Join(Separator, answers)
于 2012-12-07T09:33:19.980 に答える