有没有办法使用速记来做这样的事情?
If Not txtBookTitle.Text = String.Empty Then
objBook.DisplayName = txtBookTitle.Text
End If
objBook.DisplayName = If(Not (txtBookTitle.Text = String.Empty), txtBookTitle.Text, objBook.DisplayName)
if 语句的简写有两个版本。If(expression, true part, false part) 或 If(expression, false part)
objBook.DisplayName = If(String.IsNullOrEmpty(txtBookTitle.Text), txtBookTitle.Text)
以下代码类似于您的三行代码:
objBook.DisplayName = IIF(String.IsNullorEmpty(txtBookTitle.Text),objBook.DisplayName, txtBookTitle.Text)
这是最短的版本(81 个字符):
If txtBookTitle.Text <> String.Empty Then objBook.DisplayName = txtBookTitle.Text
我更喜欢它的调试能力。也很容易转换为 C#。