例如:
var list = ApplicationContext.Employees
.Select(x => new Employee()
{
FirstName = x.FirstName,
LastName = x.LastName
});
var list = ApplicationContext.Employees
.Select(x => new Employee(
FirstName = x.FirstName,
LastName = x.LastName
));
添加了可空类型后,似乎最好只为dto创建一个构造函数。这样你就不必处理可空的警告了。
你应该在select中使用构造函数还是花括号?
这两种方法是否存在性能差异?
1条答案
按热度按时间pprl5pva1#
通过在C# 11中添加
required
修饰符,您可以在没有警告和ctor的情况下使用dto:required
修饰符表示它所应用的字段或属性必须由对象初始化器初始化。任何初始化该类型的新示例的表达式都必须初始化所有必需的成员。required
修饰符从C# 11开始可用。required
修饰符使开发人员能够创建必须正确初始化属性或字段的类型,但仍然允许使用对象初始值设定项进行初始化所以编译器会控制你是否还没有初始化相应的属性(即类似
new Employee(){FirstName = x.FirstName}
的东西将无法编译)。sharplab.io