Ale*_*nch 36 .net c# if-statement
只是一个快速的,有没有速记这个?
它基本上是左或右的方向,左边是1,右边是0
在C#中:
if (column == 0) { direction = 0; }
else if (column == _gridSize - 1) { direction = 1; }
else { direction = rand.Next(2); }
Run Code Online (Sandbox Code Playgroud)
此后的声明将是:
if (direction == 1)
{
// do something
}
else
{
// do something else
}
Run Code Online (Sandbox Code Playgroud)
如果没有,那真的不重要!只是好奇:)
Mik*_*our 41
用速记来获取方向:
int direction = column == 0
? 0
: (column == _gridSize - 1 ? 1 : rand.Next(2));
Run Code Online (Sandbox Code Playgroud)
完全简化代码:
if (column == gridSize - 1 || rand.Next(2) == 1)
{
}
else
{
}
Run Code Online (Sandbox Code Playgroud)
Hyp*_*eus 28
使用三元运算符
direction == 1 ? dosomething () : dosomethingelse ();
Run Code Online (Sandbox Code Playgroud)
sgo*_*les 14
是.使用三元运算符.
condition ? true_expression : false_expression;
Run Code Online (Sandbox Code Playgroud)
最近,我真的很喜欢速记,如果其他声明作为swtich案例替换.在我看来,这在阅读中更好,占用更少的地方.看看:
var redirectUrl =
status == LoginStatusEnum.Success ? "/SecretPage"
: status == LoginStatusEnum.Failure ? "/LoginFailed"
: status == LoginStatusEnum.Sms ? "/2-StepSms"
: status == LoginStatusEnum.EmailNotConfirmed ? "/EmailNotConfirmed"
: "/404-Error";
Run Code Online (Sandbox Code Playgroud)
代替
string redirectUrl;
switch (status)
{
case LoginStatusEnum.Success:
redirectUrl = "/SecretPage";
break;
case LoginStatusEnum.Failure:
redirectUrl = "/LoginFailed";
break;
case LoginStatusEnum.Sms:
redirectUrl = "/2-StepSms";
break;
case LoginStatusEnum.EmailNotConfirmed:
redirectUrl = "/EmailNotConfirmed";
break;
default:
redirectUrl = "/404-Error";
break;
}
Run Code Online (Sandbox Code Playgroud)