- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
C#有没有和JavaScript的||类似的操作二传手?
例如,在 JavaScript 中,如果我想检查一个值是否为 null 并设置一个默认值,我可以这样做:
function foo(val){
this.name = val || "foo";
}
但是,当我想在 C# 中使用此功能时,我必须走这条路:
public Foo(string val)
{
this.name = (string.IsNullOrEmpty(val) ? "foo" : val);
}
我知道这很琐碎,乞丐不能选择,但如果可能的话,我想避免得到任何涉及疯狂黑客或扩展方法的答案。我可以使用三元运算符,但我只是好奇是否有我错过的语言功能。
更新:
到处都是很棒的答案,但 J0HN 和 Anton 恰到好处。 C# 不会像上面示例中的 JavaScript 那样执行“虚假”值,因此 ??
运算符不考虑空字符串。
感谢您的宝贵时间和精彩回复!
最佳答案
有一个 null-coalescing operator在 C# 中,尽管它不能处理 JavaScript 的所有怪癖:
this.name = val ?? "foo";
由于空字符串在 JavaScript 中为 false
,因此此 C# 代码的行为与其对应的 JS 代码不同。
关于c# - C#有没有类似JavaScript的||的操作二传手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13399523/
我是 Scala 的新手,具有基本的 Java 背景。我研究了如何实现类构造函数以及如何在 setter 中为该类的字段提供一些逻辑。 class SetterTest(private var _x:
我想知道的是,当我们可以简单地将值直接分配给私有(private)对象时,为什么我们需要私有(private) setter?考虑以下代码: private int counter = 0; publ
我试图为 recordingStatus 赋值 -即recordingStatus = 1但它没有进入我想要一些自定义代码的 setter ..我的代码有什么问题? 谢谢。 码头。 在文件.h中 @p
仍在习惯 Entity Framework ,但我已经看到如下代码,它们在实体中为 id 设置了私有(private) setter 。 public int Id { get; private se
省略 setter 的属性和带有私有(private) setter 的属性有什么区别? public string Foo { get; private set; } 对比 public strin
我不明白拥有以 C# 2 开头的私有(private) setter 的必要性。 对我来说有一个 setter 方法就是让用户在那个类中设置一些变量。这样做时,我们不会将变量直接暴露给用户。相反,我们
我有一个 QObject,其属性可从 QML 访问。 就像是: Class C : public QObject { Q_OBJECT public: explicit C(QObject * par
有没有办法在 TypeScript 中为属性设置私有(private) setter? class Test { private _prop: string; public get p
我一直在寻找,但找不到任何相关的引用资料。我想在 Dart 中创建一个私有(private) setter,以便在更改私有(private)变量后调用附加函数。 ViewState _state; V
这是由apple提供的pint结构setter getter介绍的point example如何让只有二传手私有(private) struct Point { var x = 0.0, y
我编写了一个自定义序列化程序,它通过反射设置对象属性来工作。可序列化类使用可序列化属性进行标记,所有可序列化属性也进行标记。例如,下面的类是可序列化的: [Serializable] public c
我知道有一个属性可以处理私有(private) setter ,但我有点希望将此行为作为默认行为,有没有办法实现这一点?除了调整来源。如果有这样的设置就好了。 最佳答案 我来这里是为了寻找使 Json
我是一名优秀的程序员,十分优秀!