我已经尝试了几种不同的方式,似乎不能得到我想使用vb.net的结果.
@H_404_1@我有一个字符串数组. {“55555”,“44444”,“”}
@H_404_1@我需要一个整数数组{55555,44444}
@H_404_1@这是一个将数组作为参数发送到水晶报表的wpf页面.
@H_404_1@任何帮助是赞赏.
您可以使用
List(Of T).ConvertAll
方法:
@H_404_1@或与代表
- Dim stringList = {"123","456","789"}.ToList
- Dim intList = stringList.ConvertAll(Function(str) Int32.Parse(str))
@H_404_1@如果只想使用数组,可以使用
- Dim intList = stringList.ConvertAll(AddressOf Int32.Parse)
Array.ConvertAll method
:
@H_404_1@哦,我错过了你的样本数据中的空字符串.那么你需要检查一下:
- Dim stringArray = {"123","789"}
- Dim intArray = Array.ConvertAll(stringArray,Function(str) Int32.Parse(str))
@H_404_1@顺便说一下,方法语法中的方法相同,ugly as always in VB.NET:
- Dim value As Int32
- Dim intArray = (From str In stringArray
- Let isInt = Int32.TryParse(str,value)
- Where isInt
- Select Int32.Parse(str)).ToArray
- 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