arrays - 在 VB.NET 中将字符串数组转换为 double 组

标签 arrays vb.net type-conversion

我有一个包含 double 和整数的字符串“TextLine”。现在我想将字符串拆分为几个部分并将生成的字符串数组转换为 double 。不幸的是,当我尝试这样做时,我遇到了重载解析错误(对于“解析”)。我做错了什么?

Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), [Double].Parse)

最佳答案

你可以这样做:

Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), New Converter(Of String, Double)(AddressOf Double.Parse))

但是,如果您提供的字符串数组包含任何无效项目,则会引发异常并且无法转换任何项目。如果您想处理无效项目并将其默认为 0,您可以实现自己的转换器,如下所示:

Private Function DoubleConverter(ByVal text As String) As Double
    Dim value As Double = 0
    Double.TryParse(text, value)
    Return value
End Function

然后,你可以像这样使用它:

Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), New Converter(Of String, Double)(AddressOf DoubleConverter))

关于arrays - 在 VB.NET 中将字符串数组转换为 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054585/

相关文章:

android - 创建标记数组 Google Maps V2

c:使用动态数组访问冲突写入位置

vb.net - 如何让VB.Net安装程序运行我的代码

vb.net - 在 VB.NET 中通过 TCP/IP 发送数据时程序卡住

javascript - 为什么 Javascript 比较运算符在数学上不一致?

c++ - 如何将接口(interface)对象转换为特定的继承对象

c - 为什么我得到 0 作为输出?你能找出错误吗?

java - 如何在java中实例化多边形数组

mysql - VB.Net 删除 DataGridView MySql 中选定的行

c++ - 将 char[2] 转换为 unsigned short 时出错?