PART 01
PART 02
public class User
{
public long Id { get; set; }
public string Name { get; set; }
}
// 初始化器写法
var user = new User
{
Id = 1,
Name = "张三"
};
// 编译器展开等价代码
User user = new User();
user.Id = 1;
user.Name = "张三";
public class User
{
public User(long id)
{
Id = id;
}
public long Id { get; set; }
public string Name { get; set; }
}
var u = new User(1001)
{
Name = "李四"
};
public record User(long Id, string Name)
{
public string Remark { get; init; }
}
var u = new User(1, "小明")
{
Remark = "测试用户"
};
// u.Remark = ""; 编译报错,无法修改
public record Order(long OrderId, decimal Amount)
{
public string Status { get; init; }
}
var order = new Order(100, 99.9m)
{
Status = "已支付"
};
public class Order
{
public long Id { get; set; }
public User Buyer { get; set; }
}
var order = new Order
{
Id = 1,
Buyer = new User
{
Id = 10,
Name = "买家"
}
};
PART 03
List<int> list = new List<int> { 1, 2, 3, 4 };
// 编译展开
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
var set = new HashSet<string> { "A", "B", "C" };
var queue = new Queue<int> { 10, 20, 30 };
var stack = new Stack<int> { 1, 2 };
public class MyCollection : IEnumerable<int>
{
private List<int> _data = new();
public void Add(int num) => _data.Add(num);
public IEnumerator<int> GetEnumerator() => _data.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
// 可以使用集合初始化器
var coll = new MyCollection { 1, 3, 5 };
PART 04
var dict = new Dictionary<long, string>
{
[1] = "张三",
[2] = "李四"
};
// 等价
dict[1] = "张三";
dict[2] = "李四";
var dict = new Dictionary<int, string>
{
{ 1, "A" },
{ 2, "B" }
};
// 等价 dict.Add(1,"A");
PART 05
int[] arr = { 1, 2, 3 };
int[] arr2 = new int[] { 10, 20 };
int[][] jagged = new int[][]
{
new int[] {1,2},
new int[] {3,4,5}
};
PART 06
var u = new User(1) { Name = "xx" };
// 1. User(1) 构造执行
// 2. Name 赋值
PART 07
PART 08
PART 09
版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!联系QQ:76900276