vb.net – 将字符串数组转换为int数组

我已经尝试了几种不同的方式,似乎不能得到我想使用vb.net的结果.

我有一个字符串数组. {“55555”,“44444”,“”}

我需要一个整数数组{55555,44444}

这是一个将数组作为参数发送到水晶报表的wpf页面.

任何帮助是赞赏.

您可以使用 List(Of T).ConvertAll方法:

Dim stringList = {"123", "456", "789"}.ToList
Dim intList = stringList.ConvertAll(Function(str) Int32.Parse(str))

或与代表

Dim intList = stringList.ConvertAll(AddressOf Int32.Parse)

如果只想使用数组,可以使用Array.ConvertAll method

Dim stringArray = {"123", "456", "789"}
Dim intArray = Array.ConvertAll(stringArray, Function(str) Int32.Parse(str))

哦,我错过了你的样本数据中的空字符串.那么你需要检查一下:

Dim value As Int32
Dim intArray = (From str In stringArray
               Let isInt = Int32.TryParse(str, value)
               Where isInt
               Select Int32.Parse(str)).ToArray

顺便说一下,方法语法中的方法相同,ugly as always in VB.NET

Dim intArray = Array.ConvertAll(stringArray,
                        Function(str) New With {
                            .IsInt = Int32.TryParse(str, value),
                            .Value = value
                        }).Where(Function(result) result.IsInt).
                Select(Function(result) result.Value).ToArray
相关文章
相关标签/搜索