设置语句,如果错误则返回空字符串

时间:2017-04-18 08:59:16

标签: vb.net

从以下link开始,我在vb.net中重新创建了页面底部的示例。

在运行以下函数之前,我将文本文件中的一些数据保存到名为T.

的字典中

例如:

姓名 - T0962

价值 - 5.89

Public Shared Function initialization()

    'Variables initialization
    Dim parts As New List(Of Intialization)

    'Add parts to the list.
    parts.Add(New Intialization() With {
         .PartName = "T0962",
         .PartId = T.Item(.PartName))
    })

    If parts.Exists(Function(p) p.PartName = "T0962") Then
            Dim value = parts.Where(Function(p) p.PartName = variable_type).FirstOrDefault()
            Msgbox(value.PartId)
    End If

End Function

当我有“T0962”变量时,该程序可以正常工作。当该变量在文本文件中不存在时,它也不存在于字典中。因此,我在代码中收到错误,因为.PartId无法初始化。这是因为在那个文本文件中,有时我有这个价值,有时候我没有。

在我仔细分析后,我注意到错误发生在Property语句中, Set(value As String)更准确。

Public Property PartId() As String
    Get
        Return m_PartId
    End Get
'here the error happens
    Set(value As String)
        m_PartId = value
    End Set
End Property

有没有办法在Set语句中避免这种情况?例如,当出现错误时,返回一个空字符串?

如果您有什么不明白的地方,请告诉我。

1 个答案:

答案 0 :(得分:0)

确定。试试下面。它对我有用。

Dim partName As String

partName = "T0962"
parts.Add(New Intialization() With {
     .PartName = partName,
     .PartId = T.FirstOrDefault(Function(f) f.Key = partName).Value
    })