私はこれに近いですが、現在はリストボックスに表示する出力を得ることができません。私はそれが働いていたが、いくつかのことを動かして結合機能を働かせる必要があった。VB 2010の配列/ファイルへの配列の書き込み
私のプログラムでは、ユーザーはテキストボックスに入力を入力し、入力した内容に基づいてリストボックスに配列が表示されます。たとえば、「a」と入力すると、プログラムに接続されている)が表示されます。
出力がある場合、この配列に名前を付けて(ユーザーが入力したものに基づいて作成されます)、リストボックス内のすべての項目を結合する方法を見つける必要があります(例:リストボックスは下部に文字列として表示されます)。
私はこれまでのコードを投稿しています。私が取得(および潜在的に私のロジックエラー)していたエラーのすべての最初の場合は、次の文の終わりまで、ちょうど最初のパブリック・クラスである:あなたはlistfoodsの結果を保存する必要が
Public Class frmFoods
Dim foods() As String = IO.File.ReadAllLines("foods.txt")
Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click
Dim Letter As String = txtLetter.Text.ToUpper
Dim smallerarray() As Array
Dim userarray As String
lstOutput.Items.Clear()
If IsNumeric(txtLetter.Text) = False Then
For Each food As String In foods
smallerarray = listfoods(Letter)
lstOutput.Items.Add(Letter)
userarray = Join(smallerarray, ", ")
lstOutput.Items.Add(userarray)
Next
ElseIf IsNumeric(txtLetter.Text) = True Then
MessageBox.Show("Please enter a letter.")
Else
MessageBox.Show("The text box is empty")
End If
End Sub
Function listfoods(ByVal letter As String) As String()
Dim foodarray(foods.Count - 1) As String
Dim counter As Integer = 0
For Each food As String In foods
If food.StartsWith(letter) Then
foodarray(counter) = food
counter += 1
End If
Next
ReDim Preserve foodarray(counter - 1)
Return foodarray
End Function
ありがとうございました。あなたの質問に答えるためには、私のプログラムの別の部分では、新しい配列をテキストファイルに書き込まなければならないので、ユーザが作成した新しい配列に名前を付ける必要があります。あなたの応答コードを私のプログラムに追加しました。下の行があります。 smallarry = listfoods(Letter) エラーメッセージは次のように表示されます: '1次元配列の文字列を' 1次元配列に変換できませんSystem.Array 'から' String 'が派生していないためです。 私はプログラムをステップ実行しようとしましたが、エラーのためにどこにブレークポイントを設定するのか分かりません。 – user1078714