C# 赋值前检查值是否为空
因此,我正在创建一个新对象,并通过其他函数设置其属性。在应用这些值之前,我需要检查这些值是否为null。我将如何处理这个问题C# 赋值前检查值是否为空,c#,C#,因此,我正在创建一个新对象,并通过其他函数设置其属性。在应用这些值之前,我需要检查这些值是否为null。我将如何处理这个问题 Customer = new Customer ( name = requestCall.Name, age = requestCall.Age.ofType<DateTime>().DOB ) Customer=新客户( name=requestCall.name, age=requestCall.age.ofType().D
Customer = new Customer (
name = requestCall.Name,
age = requestCall.Age.ofType<DateTime>().DOB
)
Customer=新客户(
name=requestCall.name,
age=requestCall.age.ofType().DOB
)
在申请之前,我如何检查requestCall.Age或requestCall.Name是否为空 变体1:
Customer = new Customer(
name = requestCall.Name ?? "default name",
age = requestCall.Age == null ? (some default date) : requestCall.Age.ofType<DateTime>().DOB
);
根据您的场景,您可以使用 或 试试这个
Customer = new Customer (
name = requestCall.Name ?? string.Empty,
age = requestCall.Age.ofType<DateTime>().DOB ?? DateTime.Now
)
Customer=新客户(
name=requestCall.name??string.Empty,
age=requestCall.age.ofType().DOB??DateTime.Now
)
只需创建一个requestCall.IsValid()
方法(适合您的使用的名称)并使用它来验证您是否能够创建新客户
我可以想象,当您确定需要添加的其他内容时,逻辑将增长,这将减少您必须执行的更新量
作为附带说明:您可能希望创建一个构造函数,该构造函数将requestCall
作为参数。按照
requestCall.Name ?? "soome text",
或者!string.IsNullOrEmpty(requestCall.Name)?requestCall.Name:“soome text”
并检查null作为整数
`age = requestCall.Age == null ? (default) : requestCall.Age.ofType<DateTime>().DOB`
`age=requestCall.age==null?(默认值):requestCall.Age.ofType().DOB`
如果它们为空,您希望发生什么?这段代码无论如何都不会编译。
name = requestCall.Name ?? something
Customer = new Customer (
name = requestCall.Name ?? string.Empty,
age = requestCall.Age.ofType<DateTime>().DOB ?? DateTime.Now
)
requestCall.Name ?? "soome text",
`age = requestCall.Age == null ? (default) : requestCall.Age.ofType<DateTime>().DOB`