`

tip: C# check nullity, assignment and return in one statement

    博客分类:
  • C#
C# 
阅读更多

It is a common practise to check if a variable is null, and if it is null, assign some value to it, then return the assigned variable, or just return the cached value if the variable is not nulll..

 

suppose you have  a field called m_mydelegateCommand, and you want to ensure non-null value is returned. 

 

you may do this 

 

    private DelegateCommand<object> m_mydelegateCommand;
    public DelegateCommand<object> MyDelegateCommand {
      get
      {
        if (m_mydelegateCommand == null) m_mydelegateCommand = new DelegateCommand<object>(MyDelegateCommandExecuted);
        return m_mydelegateCommand;
      }
    }
 

With the help of conditional expression, you may do this.

 

    private DelegateCommand<object> m_mydelegateCommand;
    public DelegateCommand<object> MyDelegateCommand {
      get
      {
        return m_mydelegateCommand != null ? m_mydelegateCommand : m_mydelegateCommand = new DelegateCommand<object>(MyDelegateCommandExecuted);

      }
    }
 

With the help from Nullale operator ??, you can do even simpler as this:

 

    private DelegateCommand<object> m_mydelegateCommand;
    public DelegateCommand<object> MyDelegateCommand {
      get
      {
        return m_mydelegateCommand ?? (m_mydelegateCommand =  new DelegateCommand<object>(MyDelegateCommandExecuted));
      }
    }
 

 

 

分享到:
评论

相关推荐

    nutility-mobile-app:适用于移动设备的 Nullity 版本

    《营养流动应用程式:Nullity 移动版的探索与解析》 在当前数字化时代,移动应用程序已经成为我们日常生活和工作中不可或缺的一部分。今天我们要探讨的是一个名为 "nutility-mobile-app" 的项目,它专为移动设备...

    Advanced Linear Algebra

    The Rank Plus Nullity Theorem, 63 Linear Transformations from to , 64 Change of Basis Matrices, 65 The Matrix of a Linear Transformation, 66 Change of Bases for Linear Transformations, 68 ...

    GRE分类词汇总结.doc

    - **nullity**:无效,无兴趣 6. **阁楼相关的词汇:** - **attic**:阁楼,顶楼 - **garret**:阁楼、顶楼小室 - **loft**:阁楼,顶楼 - **spire**:(教堂)尖顶,尖塔,高点 - **steeple**:尖塔,尖阁 ...

    网狐游戏数据库文档

    - Nullity:账号禁用状态。 - NullityOverDate:解禁时间。 - StunDown:安全关闭标识。 - MoorMachine:固定机器标识,用于账户安全。 - IsAndroid:机器人标识,区分用户和机器人。 - WebLogonTimes:网站登录次数...

    线性代数期末考试试题(2010学年秋季学期2)1

    行等价意味着两矩阵有相同的秩,要求给出A的行空间基、零空间维数(nullity)和秩(rank)。这需要理解矩阵的行空间、列空间和秩的定义,并进行适当的计算。 7. **特征值与特征向量**:矩阵A作用于复数域C^n,已知...

    矩阵论双语2021.pdf

    9. 矩阵表示与秩和零度(Matrix Representation and Rank and Nullity):线性映射可以用矩阵来表示,矩阵的秩表示线性映射的像空间的维数,而零度表示核空间的维数。 10. 矩阵分解与范数(Matrix Decomposition ...

    fortran90读书杂记

    《FORTRAN 90 and FORTRAN 95 Notes》读书笔记 FORTRAN 90(也被称为FORTRAN 95)是一种高级编程语言,尤其适用于科学计算和工程领域。它在FORTRAN 77的基础上引入了许多增强功能,提高了代码的可读性、可维护性...

    线代课件.zip

    "线代课件.zip"很可能包含了一系列有关线性代数的PPT,这些课件可能涵盖了矩阵理论、向量空间、线性变换、特征值与特征向量、行列式、秩和nullity、线性方程组的解法、正交投影、特征值分解、奇异值分解等核心概念。...

    6603机器人操作说明

    - Nullity:禁止标志。 - **注意事项**: - 游戏时间和服务时间通常以秒为单位计算。 - 对于百人游戏,建议将游戏时间和游戏局数设置得较长,以避免机器人频繁退出游戏桌子。 - 可以设置不同类型的服务时间,以...

    矩阵理论资料期末考试题整理版.doc

    * 矩阵 теорем:包括线性代数的基本定理,如线性独立、秩-nullity 定理等。 * 矩阵引理:包括矩阵的基本引理,如矩阵乘法的结合律、矩阵转置的性质等。 八、实践应用 * 矩阵理论在计算机科学中的应用:矩阵...

    GRE分类词汇总结

    - **nullity** (n.):无效,无兴趣,表示没有实际价值或意义。 6. **与“阁楼”相关的词汇:** - **attic** (n.):阁楼,位于房屋顶部的空间。 - **garret** (n.):阁楼、顶楼小室,通常指狭小的储藏空间。 - *...

    GRE分类词汇

    - **nullity**:名词,“无效,无兴趣”,描述缺乏效力或吸引力的状态。 #### 六、阁楼的词汇与建筑空间 GRE分类词汇中的“阁楼”相关词汇,描绘了建筑物顶部特殊空间的多样化形态: - **attic**:名词,“阁楼,...

    lombok 插件 idea

    - `@NonNull`: 标记字段为非空,可以配合IDEA的nullity检查。 5. **问题与解决方案** - IDEA可能无法识别Lombok注解:确保IDEA已经正确安装并配置了Lombok插件,且项目配置中启用了注解处理器。 - 编译问题:...

    西北工业大学矩阵论复习PPT学习教案.pptx

    线性变换的矩阵表示和秩(rank)、零度(nullity)的概念是理解线性变换的基础。 5. **特征值和特征向量**:线性变换的特征值和特征向量是线性代数的核心,它们提供了理解线性变换性质的关键工具,例如Jordan标准形和对...

    工程数学基础教程课后习题答案.doc

    矩阵的秩(rank)和零度(nullity)是描述线性变换的重要概念。 - 矩阵的逆和转置,逆矩阵的存在意味着线性变换是可逆的,转置则反映了线性变换在坐标系变化下的表现。 6. **维度与基**: - 维度是线性空间中基的...

    17-18 线性代数A 期中答案1

    这与克莱姆法则(Cramer's Rule)和秩-零度定理(Rank-Nullity Theorem)紧密相关。 总之,这份试卷覆盖了线性代数中的基础知识点,包括矩阵运算、行列式、特征值与特征向量、矩阵的秩、线性方程组的解、拉普拉斯...

    13-14-2 线性代数 期末试卷1

    7. **秩(Rank)与零度(Nullity)**: - 矩阵的秩是指其行(列)向量组的最大线性无关向量的数量,反映了矩阵所确定线性方程组的解的几何特性。 - 零度是矩阵对应齐次线性方程组的解空间的维数,与矩阵的秩之和...

    2011线性代数期中考试题 (1)1

    由此可以确定矩阵的零空间(核)维度(nullity)和列空间(列向量生成的空间)的基础。零空间的维度等于矩阵的秩(rank)与矩阵列数的差,而列空间的基础可以由矩阵的非零行形成。 6. **真伪判断**:这部分题目涉及...

    矩阵分析课后习题解答整理版.doc

    4. **秩(Rank)与零度(Nullity)**:对于一个矩阵或线性变换,其秩是其列向量(或行向量)张成的空间的维数,而零度则是核空间的维数。线性变换的秩加上零度等于输入空间的维度,这是线性变换的秩-零度定理。 在...

Global site tag (gtag.js) - Google Analytics