C# 如果需要,请立即返回
如果出现以下情况,我尝试使用速记重写此方法:C# 如果需要,请立即返回,c#,C#,如果出现以下情况,我尝试使用速记重写此方法: public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type) { if (String.IsNullOrEmpty(baseUrl)) return ExceptionsCodes.BASE_URL_CANNOT_BE_NU
public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type)
{
if (String.IsNullOrEmpty(baseUrl))
return ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g");
if (String.IsNullOrEmpty(owner))
return ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g");
return "";
}
我不能这样做,因为return迫使我在“:“iso”;”后面加上一个值
有什么想法吗?另一件需要注意的事情是,你可以替换
((null == owner) || (string.Empty == owner))
与
另一件需要注意的事情是,您可以替换
((null == owner) || (string.Empty == owner))
与
如果不是这两种情况中的任何一种,您将丢失默认返回 例如:
return String.IsNullOrEmpty(owner)?ExceptionsCodes.OWNER_BLAH.ToString("g"):(String.IsNullOrEmpty(baseUrl)?ExceptionsCodes.BASEURL_BLAH.ToString("g"):"");
如果不是这两种情况中的任何一种,您将丢失默认返回 例如:
return String.IsNullOrEmpty(owner)?ExceptionsCodes.OWNER_BLAH.ToString("g"):(String.IsNullOrEmpty(baseUrl)?ExceptionsCodes.BASEURL_BLAH.ToString("g"):"");
这就是你的想法吗
public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type)
{
return String.IsNullOrEmpty(baseUrl) ?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g") :
( String.IsNullOrEmpty(owner) ? ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g") : "" );
}
这就是你的想法吗
public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type)
{
return String.IsNullOrEmpty(baseUrl) ?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g") :
( String.IsNullOrEmpty(owner) ? ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g") : "" );
}
该方法必须返回某些内容。我怀疑上面的例子是否正确。(我看你现在改了。) 把另外两个答案结合起来
public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type)
{
return String.IsNullOrEmpty(baseUrl) ?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g")
: (String.IsNullOrEmpty(owner) ?
ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g")
: String.Empty;
}
该方法必须返回某些内容。我怀疑上面的例子是否正确。(我看你现在改了。) 把另外两个答案结合起来
public string checkInputParamters(string baseUrl, string owner, string documentId, string user, string secret, string type)
{
return String.IsNullOrEmpty(baseUrl) ?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g")
: (String.IsNullOrEmpty(owner) ?
ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g")
: String.Empty;
}
依我看,在这种情况下,使用第一个示例布局的解决方案更具可读性。我更关心这里的可读性,而不是试图修改代码
僵尸在
String.IsNullOrEmpty(owner)
中交换的解决方案将是一个很好的增强 imo,在这种情况下,使用第一个示例布局的解决方案更具可读性。我更关心这里的可读性,而不是试图修改代码
僵尸在
String.IsNullOrEmpty(owner)
中交换的解决方案将是一个很好的增强 我个人不喜欢内联if,但这应该可以解决问题
return (
String.IsNullOrEmpty(baseUrl)?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g"):(
String.IsNullOrEmpty(owner)?
ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g"):
string.Empty
)
);
与其他人所说的几乎一样,我只想让(隐含的)()在内联ifs中清晰可见,我个人不喜欢内联if,但这应该可以做到
return (
String.IsNullOrEmpty(baseUrl)?
ExceptionsCodes.BASE_URL_CANNOT_BE_NULL_OR_EMPTY.ToString("g"):(
String.IsNullOrEmpty(owner)?
ExceptionsCodes.OWNER_CANNOT_BE_NULL_OR_EMPTY.ToString("g"):
string.Empty
)
);
与其他人所说的几乎一样,我只想让(隐含的)()在内联ifs中清晰可见。在第一个示例中,如果
和语句都为false,则不会返回任何内容。这将导致编译错误。你能纠正一下你的代码吗?如果是的话,用速记有什么意义?这会使代码变得难看和不可读,尤其是在这种情况下,而上面代码中的两个“如果”一目了然。只是一个简短的稍微离题的评论:克里斯蒂安,你知道你可以做string.InNullOrEmpty(baseUrl)
将这两个检查合并为一个检查?在第一个示例中,如果两个if
语句都为false,则不返回任何内容。这将导致编译错误。你能纠正一下你的代码吗?如果是的话,用速记有什么意义?这会让代码变得难看和不可读,尤其是在这种情况下,而上面代码中的两个“如果”一目了然。只是一个简短的稍微离题的评论:克里斯蒂安,你知道你可以使用string.InNullOrEmpty(baseUrl)
将这两个检查合并为一个吗?