csharp基础练习题:空条件运算符(C#6.0)【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp基础练习题:空条件运算符(C#6.0)【难度:1级】:

在C#6.0中有一个名为** Null-Conditional Operator ** 的新运算符?..它没什么革命性的 - 只是语法糖,但非常整洁.

用例

想象一下,你有一个’Car,汽车有一个'Engine,引擎有一个GearBox,齿轮箱有一些你感兴趣的属性,例如NumberOfGears.现在,汽车可能来自垃圾场和变速箱甚至发动机都可能丢失(“null”).

** 如何确定给定车辆的齿轮数量?**

指示

Car编写名为GetNumberOfGears的扩展方法.如果缺少齿轮箱(或其他任何东西),此方法将返回齿轮箱的"NumberOfGears"属性值或"-1".

约束

找到一些关于?.??运算符的信息,并尝试编写没有任何if或条件运算符?:的方法.

引用

  • 空条件运算符(?.)
  • Null-coalescing operator(??)
  • [条件运算符(??)(https://msdn.microsoft.com/en-us/library/ty67wk28%28v=vs.120%29.aspx)

编程目标:

public static class CarInformation
{
  public static int GetNumberOfGears (this Car car)
  {
    // ...
  }
}


测试样例:

using System;
using NUnit.Framework;
[TestFixture]
public class Tests
{ 
  [Test]
  public void TestGears()
  {
        GearBox = new GearBox {
          NumberOfGears = 5 }}};
    Assert.AreEqual(5, car.GetNumberOfGears());
  }
  [Test]
  public void TestNullEngine()


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/null-conditional-operator-c-number-6-dot-0

你可能感兴趣的:(C#编程进阶练习)