如何是最好做到以下 预订地址是一个结构把值可空变量
BookingAddress? retval= null;
这才是我的逻辑和IHAVE以下
BookingAddress address = new BookingAddress(reelinfo.LineID, reelinfo.McID);
retval = address;
有没有把更多的好方法retVal需要的值?
如何是最好做到以下 预订地址是一个结构把值可空变量
BookingAddress? retval= null;
这才是我的逻辑和IHAVE以下
BookingAddress address = new BookingAddress(reelinfo.LineID, reelinfo.McID);
retval = address;
有没有把更多的好方法retVal需要的值?
什么刚:
retval = new BookingAddress(...);
为什么不干脆:
BookingAddress? retval = new BookingAddress(reelinfo.LineID, reelinfo.McID);
非空值类型隐式转换为相应的空值类型。
BookingAddress? retval= null;
if(...)
retval = new BookingAddress(reelinfo.LineID, reelinfo.McID);
我只想返回空对象,如果我没有输入我的逻辑代码。 – 2010-12-13 15:19:32
@nightwalker这没有什么区别。你总是可以将'T'分配给'Nullable
@Pabuc我不明白你想要什么。如果我不声明retval,因为它不能为空。当然,我可以重写函数来使用'return null'和'return new BookAddress(...)',但这不能回答OP的问题。 – CodesInChaos 2010-12-13 15:57:21
这就是你需要:
return new BookingAddress(reelinfo.LineID, reelinfo.McID);
你并不真的需要retval
变量,如果你不assigining它的价值和其返回之间用它做任何事情。
比'retval'更有意义的名字。我知道它代表“返回值”,但您要返回预订地址,而不是返回值。 – jason 2010-12-13 15:18:12
我喜欢用一个名为'result'的变量来保存返回值。在短的函数中,它具有足够的含义,尤其是因为它的类型已经是'BookingAddress' – CodesInChaos 2010-12-13 15:24:04
旁注:您可能想考虑使'BookingAddress'类 – CodesInChaos 2010-12-13 15:58:34