IIF并且没什么

时间:2015-10-17 11:57:48

标签: vb.net null iif

我有3个要连接的文本框。 fname,mname,lname

例如:

fname = Nat    ----     mname = Arnido    ----   lname = Congreso  

然后我希望他们使用命令按钮在名为fullname的其他文本框中连接。

fullname = Congreso, Nat A.

但是在中间名为null的另一种情况下,fullname应该如下所示。

fullname = Congreso, Nat

我发现很难删除中间名称中的句点(。)。

到目前为止,这是我的代码。

Me.fullname.Text = Me.lname.Text & ", " & Me.fname.Text & " " & IIf(IsNothing(Microsoft.VisualBasic.Left(Me.mname.Text, 1) & ""), "", (Microsoft.VisualBasic.Left(Me.mname.Text, 1)) & ". ")

3 个答案:

答案 0 :(得分:2)

我不会使用IIf或Left。

    fullname.Text = lname.Text.Trim & ", " & fname.Text.Trim
    If Not String.IsNullOrWhiteSpace(mname.Text) Then
        fullname.Text &= " " & mname.Text.Trim.Substring(0, 1) & "."
    End If

如果我迷恋于将此作为一个长语句编写,我将使用If运算符。

    fullname.Text = lname.Text.Trim & ", " & fname.Text.Trim & _
        If(Not String.IsNullOrWhiteSpace(mname.Text.Trim), " " & mname.Text.Substring(0, 1) & ".", "")

答案 1 :(得分:0)

文本框数据通常不是Nothing。它至多是一个空字符串:

Me.fullname.Text = Me.lname.Text & ", " & _
                   Me.fname.Text &  _
                   If(Me.mname.Text = String.Empty, _
                       "", _
                       " " & Left(Me.mname.Text, 1) & ".")

答案 2 :(得分:0)

您还可以使用字符串Replace方法删除/更改任何不需要的字符/模式。

mname.Replace(".", "")