隐式转换警告
Impicit conversion warning
我正在对 VB.NET
中的字符串执行此简单操作
我有一个名为 segmentInfo
的信息字符串,看起来像这样:
XRT0034:3:89:23
所以我只是想从中得到一个数字:
Dim rowNum As Integer = segmentInfo.split(":")(1)
我实际上收到了 2 个警告。两个警告都在同一行代码中给出。
Warning - Implicit conversion from 'String' to 'Integer'
Warning - Implicit conversion from 'String' to 'Char'
也许我能理解第一个,关于 string
到 integer
...但是第二个??没看懂。
无论如何,有人能告诉我我做错了什么以及如何解决吗?
没有这样的重载方法 String.Split
接受一个 String
类型的参数
来自 MSDN String.Split Method
你可以改成
Dim rowNum As Integer = segmentInfo.split(":"c)(1)
":"c
- c 是 Char
Type Characters (Visual Basic)
类型的字符
要将 String
转换为 Integer
使用 Int32.TryParse
或 Int32.Parse
方法将字符串转换为整数
Dim rowNum As Int32 = Int32.Parse(segmentInfo.split(":"c)(1))
'Exception will be thrown if string value not convertible to Integer type
或者
Dim rowNum As Int32
If Int32.TryParse(segmentInfo.split(":"c)(1), rowNum) = True Then
'Use succesfully converted integer value
Else
'Show message about invalid text
End If
Split
方法将 Char
(数组)作为参数,而不是字符串。因此:
.... segmentInfo.split(":"c)(1)
其次,您需要将结果字符串解析为整数:
Dim rowNum As Integer = Integer.Parse(segmentInfo.split(":"c)(1))
仅当您知道字符串是数字时才执行此操作。否则,使用 TryParse
.
您必须将其解析为整数形式
Dim rowNum As Integer = Convert.ToInt32(segmentInfo.split(":")(1))
Dim rowNum As Integer = Integer.Parse(segmentInfo.split(":"c)(1))
我正在对 VB.NET
中的字符串执行此简单操作我有一个名为 segmentInfo
的信息字符串,看起来像这样:
XRT0034:3:89:23
所以我只是想从中得到一个数字:
Dim rowNum As Integer = segmentInfo.split(":")(1)
我实际上收到了 2 个警告。两个警告都在同一行代码中给出。
Warning - Implicit conversion from 'String' to 'Integer'
Warning - Implicit conversion from 'String' to 'Char'
也许我能理解第一个,关于 string
到 integer
...但是第二个??没看懂。
无论如何,有人能告诉我我做错了什么以及如何解决吗?
没有这样的重载方法 String.Split
接受一个 String
来自 MSDN String.Split Method
你可以改成
Dim rowNum As Integer = segmentInfo.split(":"c)(1)
":"c
- c 是 Char
Type Characters (Visual Basic)
要将 String
转换为 Integer
使用 Int32.TryParse
或 Int32.Parse
方法将字符串转换为整数
Dim rowNum As Int32 = Int32.Parse(segmentInfo.split(":"c)(1))
'Exception will be thrown if string value not convertible to Integer type
或者
Dim rowNum As Int32
If Int32.TryParse(segmentInfo.split(":"c)(1), rowNum) = True Then
'Use succesfully converted integer value
Else
'Show message about invalid text
End If
Split
方法将 Char
(数组)作为参数,而不是字符串。因此:
.... segmentInfo.split(":"c)(1)
其次,您需要将结果字符串解析为整数:
Dim rowNum As Integer = Integer.Parse(segmentInfo.split(":"c)(1))
仅当您知道字符串是数字时才执行此操作。否则,使用 TryParse
.
您必须将其解析为整数形式
Dim rowNum As Integer = Convert.ToInt32(segmentInfo.split(":")(1))
Dim rowNum As Integer = Integer.Parse(segmentInfo.split(":"c)(1))