2016-06-16 17 views
0
Dim numbers(9) As Integer 
Dim Card As String 
Dim CardInfo As Integer 
Const ListSize = 9 

Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click 
    listOutput.Items.Clear() 

    'populate the numbers array 
    For i As Integer = 0 To 9 
     numbers(i) = txtValue.Text 
     Card = txtCard.Text 

     CardInfo = numbers & Card 
     listOutput.Items.Add(CardInfo) 
    Next 
    For i = 0 To ListSize 
    Next i 
    txtSearchValue.Focus() 
End Sub 
+6

電源を入れます。文字列と数字の違い、配列と文字列の違いがあります。数字が '{1,2,3,4,5}'で、 'Card'が' foo 'と答えた場合、 'numbers&Card'の期待する結果は? – Plutonix

+0

私はfooが1に割り当てられ、次の名前と入力された数字が同じ方法で結合されるということが起こりたいと考えています。 –

+0

だから... "foo1"、 "foo2"などが得られますか?単に 'numbers&i.ToString()'を実行してください –

答えて

0

を動作しません。

文字列を整数に保存することはできません。私の推測では、あなたはその文字列の価値が欲しいということです。その "23"の場合は、数字23が必要です。そのためには解析する必要があります。

numbers(i) = Integer.Parse(txtValue.Text) 

これは、文字列の値をintに保存します。

重要

txtValue場合には有効ではありません、テキスト、それはexeptionがスローされます番号ではない何かを持っています。そして私たちはそれを望んでいません。だから我々は、TryParseを使用することができます。

Integer.TryParse(txtValue.Text,numbers(i)) 

あなたはそれが常にtxtValueに有効な番号を持っていると確信していた場合、あなたはスタンダール解析を使用し、そうでない場合は、すべてのTryParse

0

ファーストを使用することができ、それはですString + Integerについては不平を言わない。それはString + Integer()について不平を言っています。そのコードで&演算子で使用されるnumbers変数は配列であり、文字列と連結するだけではありません。下付き文字がありません。

しかし、あなたは非常にとにかくすべてそのコードを減らすことができます。オプション厳密に

Const ListSize = 9 
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click 
    Dim items = Enumerable.Range(0, ListSize).Select(Function (i) String.Format("{0} {1}", txtCard.Text, i)).ToArray() 
    listOutput.Items.Clear() 
    listOutput.Items.AddRange(items) 
    txtSearchValue.Focus() 
End Sub 
関連する問題

 関連する問題