清洁度是否胜过这里的表现:
版本1:
Function MyFunc(ByVal param as String) As String
Dim returnValue as String
If param Is Nothing Then
returnValue = "foo"
Else
returnValue = param
return returnValue
Run Code Online (Sandbox Code Playgroud)
版本2:
Function MyFunc(ByVal param as String) As String
return If(param,"foo")
Run Code Online (Sandbox Code Playgroud)
版本1直接处理未装箱String的.版本2处理所有盒装Object.[If()将TestExpression作为Object,将FalsePart作为Object并返回一个Object]
[无法添加评论]
评论:ja72,修正了我的命名.
评论:Marc,你会选择第2版吗?
我认为清晰度胜过任何事情.
该If(obj1,obj2)函数是VB.NET的空合并运算符.它的功能与obj1 ?? obj2C#相同.因此,每个人都应该知道它意味着什么,并且应该在简洁性很重要的地方使用它.
虽然If/Else声明干净,简单,而且很明显,但在这种特殊情况下,我赞成这个If功能.
| 归档时间: |
|
| 查看次数: |
843 次 |
| 最近记录: |