2017-06-13 7 views
0

テキストボックスから整数の配列を作成したいと思います。テキストボックスから整数の配列を作成

テキストボックス内の書式文字列は80,139,22,135などです。

これまでのところこれが私の持っているものです。

テキストボックスは、80または139または22、または任意のない "" またはスペース

Dim XPort = {TxtScanPort.Text}.ToList 
For Each BPort As Integer In XPort 'ERROR 
Blahh.. blahh.. blahh.. 

である場合、これは働いているが、私は80、139、135にtexbox内の値を変更するときに私が取得このエラー..

文字列「80,139,135」から「整数」への変換は無効です。その後、私はこのような...文字列を整数に変換しようとしています

..

Dim XPort = {TxtScanPort.Text}.ToList 
Dim Str2Int = XPort.ConvertAll(Function(str) Int32.Parse(str)) 'ERROR 
For Each BPort As Integer In Str2Int 
Blahh.. blahh.. blahh.. 

その後、私は別のエラーを持っている...

入力文字列が正しい形式ではありませんでした。

私は多くのコードをしようとしているが、それらのほとんどが同じエラー

+3

「80,133,135」は整数ではなく、CSVです。最初に解析または分割する... blahh blahh blahh – Plutonix

+1

コンマとスペース( "、")を複数文字の区切り文字と見なすと、[この質問](https://stackoverflow.com/questions/1126915/how -do-i-split-a-string-by-a-multi-character-delimiter-in-c)は、C#コードをVB.NETに変換しても構いません。 (あるいは、[String.Split](https://msdn.microsoft.com/en-us/library/tabh47cf(v = vs.110).aspx)メソッドを見てください。) –

+0

@ChristopherKyleHortonは働いてくれてありがとう.. – CrazyThink

答えて

1

ないのstring.Split(のファン)(実際のCSVパーサを取得)、「入力文字列が正しい形式ではありませんでした」結果が、これはquick'n'dirtyオプションである:ここで

For Each BPort As Integer In TxtScanPort.Text.Split(",".ToCharArray()).Select(Function(i) CInt(i.Trim())) 
1

は、各値はカンマで区切られている場合に動作するメソッドです。