c#三元算子

c#三元算子,c#,if-statement,error-handling,ternary-operator,C#,If Statement,Error Handling,Ternary Operator,我正在开发一个没有文档的应用程序(尽管代码非常清晰且编写得很好),我正在尝试为我在精神病院后出现的下一个家伙编写一些有用的技术文档 在web服务方法中,如果对web服务的调用返回错误,则Catch代码将运行以增加消息的重试次数,并将MessageStatus设置为“New”(以便在小于5时重试)或“error”(对于未知错误),但有一行我不完全确定,我需要正确记录这一过程: catch (Exception ex) { int NoRetries = (int)dRow[(int)Common.

我正在开发一个没有文档的应用程序(尽管代码非常清晰且编写得很好),我正在尝试为我在精神病院后出现的下一个家伙编写一些有用的技术文档

在web服务方法中,如果对web服务的调用返回错误,则Catch代码将运行以增加消息的重试次数,并将MessageStatus设置为“New”(以便在小于5时重试)或“error”(对于未知错误),但有一行我不完全确定,我需要正确记录这一过程:

catch (Exception ex)
{
int NoRetries = (int)dRow[(int)Common.OutboundSQLFields.Message_Retries];
string messageStatus = (NoRetries < 5) ? Common.MessageStatus(ex) : "Expired";
    ...
(声明)?真:假

因此,如果
NoRetries<5
那么
Common.MessageStatus(ex)
如果
NoRetries>=5
,则
“过期”

希望这能澄清它:)

(声明)?真:假

因此,如果
NoRetries<5
那么
Common.MessageStatus(ex)
如果
NoRetries>=5
,则
“过期”

希望这能澄清这一点:)

因为声明是:

string messageStatus = (NoRetries < 5) ? Common.MessageStatus(ex) : "Expired";
string messageStatus=(NoRetries<5)?Common.MessageStatus(ex):“过期”;
应该是这样的:

string MessageStatus="";
if (NoRetries < 5)
    MessageStatus = Common.MessageStatus(ex);
else
    MessageStatus = "Expired";
string MessageStatus=“”;
if(标准值<5)
MessageStatus=Common.MessageStatus(ex);
其他的
MessageStatus=“过期”;
你倒过来了。但是你的也是正确的。

正如这句话所说:

string messageStatus = (NoRetries < 5) ? Common.MessageStatus(ex) : "Expired";
string messageStatus=(NoRetries<5)?Common.MessageStatus(ex):“过期”;
应该是这样的:

string MessageStatus="";
if (NoRetries < 5)
    MessageStatus = Common.MessageStatus(ex);
else
    MessageStatus = "Expired";
string MessageStatus=“”;
if(标准值<5)
MessageStatus=Common.MessageStatus(ex);
其他的
MessageStatus=“过期”;

你倒过来了。但是你的也是正确的。

我能把三元运算符代码改写成…-你试过了吗?是的,你重写的代码是正确的。是的,你可以,尽管我看不出这有什么价值。我甚至会删除NoRetries的括号<5@AntP:是的,它是有效的,但我也试图确认我的理解,以便我能够正确地记录它。这是否意味着如果NoRetries大于4,那么MessageStatus将设置为Expired,否则将调用Common.MessageStatus方法以根据(ex)的值重置字符串MessageStatus?“。是的。我能把三元运算符代码改写成…-你试过了吗?是的,你重写的代码是正确的。是的,你可以,尽管我看不出这有什么价值。我甚至会删除NoRetries的括号<5@AntP:是的,它是有效的,但我也试图确认我的理解,以便我能够正确地记录它。“这是否意味着如果NoRetries大于4,那么MessageStatus将设置为Expired,否则将调用Common.MessageStatus方法以根据(ex)的值重置字符串MessageStatus?”。是。如果NoRetries==5?是,如果要测试小于或等于5,则必须写入(NoRetries,如果NoRetries==5?是的,如果你想测试小于或等于5,你必须写(NoRetries