【发布时间】:2018-09-18 04:18:02
【问题描述】:
我有我想要的代码行:
mid= jToken.Value<double?>("mid") ?? 100;
在 C# 中,但我在 VB.NET 中需要它,我从 Get value from JToken that may not exist (best practices) 获得它
但我在将其转换为 VB 中的正确语法时遇到了一些麻烦。我试过了
Dim mid As String = item.Value(Of String)("mid") ?? ""
但它不喜欢吗?
如果值不在对象中,我希望以空字符串或空白结尾。这是我的完整代码
Dim obj As JObject = JObject.Parse(respHTML)
Dim records As JArray = DirectCast(obj("records"), JArray)
For i As Integer = 0 To records.Count - 1
Dim item As JObject = DirectCast(records(i), JObject)
Dim pmid As Integer = item("pmid").Value(Of Integer)
Dim pmcid As String = item("pmcid").Value(Of String)
Dim doi As String = item("doi").Value(Of String)
' Dim mid As String = item("mid").Value(Of String)
Dim mid As String = item.Value(Of String)("mid") ?? ""
MessageBox.Show(pmid.ToString + " " + pmcid + " " + doi + " " + mid)
Next
【问题讨论】:
-
我尝试了 Dim mid As String = item.Value(Of String)("mid") 如果为空并且足够接近,它不会返回任何内容。如果您有更好的解决方案,我很乐意看到它,但如果没有,这对我有用。