これで電卓を作っています。電卓では、プラス、マイナスなどのボタンを押した後、新しい番号を入力することができます。私は配列でこれをしようとしています。ユーザが「Enter」ボタンを押すたびに、テキストボックスの番号が配列に追加されます。配列は合計され、配列内のすべての数値の合計になります。配列のサイズは、それに含まれるアイテムの数に応じて変更してください。
ユーザーは必要な数だけ番号を入力できるため、動的配列を使用する必要があると想定しています。
長さが配列内の項目数になるように配列を縮小する方法はありますか?
Dim inputNumbers() As Double = New Double() {}
そして、ここで私はそれのサイズを変更しようとしている方法です。ここで
は、私は私の配列を宣言している方法です。私は(intItems
変数に保持されているアレイに含まれるアイテムの数カウントしようとしています。私は、配列の要素数としてintItems
を使用して配列を再宣言してみてください。
Dim intItems As Integer
intItems = UBound(inputNumbers)
ReDim inputNumbers(intItems)
For i As Integer = 0 To inputNumbers.Length - 1
inputNumbers(i) = CDbl(inputTxt.Text)
Next i
これは、コードIでありますこのボタンが押されたときには配列内に1つの項目があるので、その中に1つの項目があることを意味するinputNumbers(0)
このプログラムデバッガを実行すると、forループをスキップします。なぜなら、forループはFor i as Integer = 0 to 0
から始まり、実行されないからです。
今、私は何をすべきか分かりません。私は配列を最初に999個のアイテムを保持するようにしようとしましたが、出力が間違った情報を表示します。
私の質問は、配列の長さがその内部の要素の数になるようにする方法です。
ありがとうございます。 はを入力したときに押された後
Dim numbers As New List(Of Double)
、:代わりに、あなたは、配列のサイズを管理する必要が配列の
'REDIM PRESERVE' – SSS
私は' List(Of Double) 'を使うことをお勧めします。この種のメモリ管理については心配しません。 –
Obvios XYの問題です。主な問題は、動的コレクションのニーズ、選択されたソリューション - >配列、質問 - >配列のサイズを変更する方法です。 @ZevSpitzがすでに指摘しているように、主な問題に対する真の答えは 'List(Of Double)'です。 – Fabio