在Lua中有一个很好的功能,可以快速检查语句的结果是否nil与使用短路版本或对情况作出反应; 像这样的东西:
text = GetTextFromUser() or "default text"
Run Code Online (Sandbox Code Playgroud)
意为指定的返回值GetTextFromUser()来text,如果GetTextFromUser()返回nil,然后分配"default text"给text
这基本上是使用or操作员短路评估进行分配的好方法.
我想知道c#||运营商是否也有这样的能力.如果不是,实现相同行为的最短途径是什么?三元运算符?如果声明?
也许是零合并运算符?https://msdn.microsoft.com/en-ie/library/ms173224.aspx
string a;
string b = a ?? "default value";
Run Code Online (Sandbox Code Playgroud)
所以你的例子将成为:
string text = GetTextFromUser() ?? "default text"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |