下面用法请看解释 public class ATestDog { public int age; public string name; public ATestDog(int age, string name) { this.age = age; this.name = name; } } public class DogCage { public ATestDog bill; public DogCage() { } } public class BitsOfKnowledge : MonoBehaviour { void Start() { //可空类型 int? k = null; //如果可空类型为空为5 int j = k ?? 5; //三元运算符 int k2 = j == 5 ? 3 : 2; ATestDog skjk = null; //如果引用类型为空,则为new ATestDog(2, "siil"); ATestDog nihao = skjk ?? new ATestDog(2, "siil"); DogCage dogCage = new DogCage(); //如果dogCage为Null,则nihao2为Null,否则nihao2 =dogCage.bill; //当nihao2为Null,则为new ATestDog(2, "siil"); ATestDog nihao2 = dogCage?.bill ?? new ATestDog(2, "siil"); //如果dogCage为Null,则nihao3为Null,否则nihao3 =dogCage.bill; ATestDog nihao3 = dogCage?.bill; /* ATest a = new ATest(); a.East(); a.JIu(); */ }