public class test : MonoBehaviour
{
private void Start()
{
#region 知识点一var隐式类型
//var是一种特殊的变量类型
//它可以用来表示任意类型的变量
//注意:
//1.var不能作为类的成员只能用于临时变量申明时
//也就是一般写在函数语句块中
//2.var必须初始化
var i = 5;
var list = new List<int>();
#endregion
# region 知识点二设置对象初始值
//申明对象时
//可以通过直接写大括号的形式初始化公共成员变量和属性
Person per = new Person(10){ name = "name", sex = true, age = 1 };
#endregion
# region 知识点三设置集合初始值
//申明集合对象时
//也可以通过大括号直接初始化内部属性
List<int> list2 = new List<int>() { 1,2,3,4};
List<Person> list3 = new List<Person>() { new Person(10), new Person(10) { age = 10 } };
#endregion
# region 知识点四匿名类型
//var变量可以申明为自定义的匿名类型
var v = new { age = 10, num = 11, name = "name" };
#endregion
# region 知识点五可空类型
//1.值类型是不能赋值为空的
//int te = null;
//2.申明时在 !!!值类型!!! 后面加?可以赋值为空
//值类型!!!!!!
int? te = null;
float? f = null;
//3.判断是否为空
if (te.HasValue) {
Debug.Log(te.Value);
Debug.Log(te);
}
//4.安全获取可空类型值
int? value = null;
//4 - 1.如果为空默认返回值类型的默认值
Debug.Log(value.GetValueOrDefault());
//4-2.也可以指定一个默认值
Debug.Log(value.GetValueOrDefault(100));
//引用类型延伸
object o = null;
//相当于是一种语法糖,帮助判断是否为空
o?.ToString();
int[] arry = null;
Debug.Log(arry?[0]);
#endregion
# region 知识点六空合并操作符
//空合并操作符??
//左边值??右边值
//如果左边值为nu11就返回右边值否则返回左边值
//只要是可以为nul1的类型都能用
int? intv = null;
//三目运算
int intI = intv ==null ? 0 : intv.Value;
//空合并
intI = intv ?? 0;
string str = null;
str = str ?? "110";
#endregion
# region 知识点七内插字符串
// 关键符号:$
//用$来构造字符串,让字符串中可以拼接变量
string name = "ffff";
Debug.Log($"1245{name}");
#endregion
# region 知识点八单句逻辑简略写法
//只有{}中有一句代码才可以省略
if (true) Debug.Log(111);
for (int j = 0; j < 5; j++)
Debug.Log(j);
# endregion
}
}
class Person
{
private int num;
public bool sex;
public string name{ get; set; }
public int age { get; set; }
public Person(int num) { this.num = num; }
}
C# core knowledge review - 17. Special syntax
Guess you like
Origin blog.csdn.net/qq_29296473/article/details/132038229
Recommended
Ranking