匿名类
声明局部变量时可以使用一种特殊的语法声明匿名类。
匿名类没有名字,所以不需要带类型名(但编译器还是会做出一个实体类来)。
只能使用var声明变量,所以只能作为局部变量。
值的那边使用new+对象初始化器声明并赋值内容。
var student = new { age = 12, name = "小明" };
匿名类和元组类似,但是他的值都是只读属性。
不可更改也不可获得引用。
并且只能声明属性,不能声明方法。
Console.WriteLine(student.age);
Console.WriteLine(student.name);
类元组
类元组和匿名类类似,只能创建只读的属性。
但是类元组是有类型的,可以作为方法返回值,方法参数,字段使用。
之前学习的元组是值元组。里面是字段而不是属性,可以读写。并且值元组是值类型。
类元组没有值元组那样的特殊语法的声明方式。
通常使用类元组的静态方法进行创建
var p=Tuple.Create(12,12);
或者也可以指定类型,使用构造器进行创建。
var t = new Tuple<int, int, int>(12,16,14);
类元组同样可以析构。
var (a,b)= Tuple.Create(12, 12);