繁体   English   中英

C#中while循环中的三元运算符

[英]Ternary operator in a while loop in C#

我对编程很陌生,我想知道如果数字对三元运算符有效,我怎么能打破循环? 我习惯用 if-else 来做,但在这种情况下,我不知道这样做的正确语法或者是否可能。 谢谢!

while (!valid)
{
     .....
     Console.Write("Enter your phone number : ");
     string noTelephone = Console.ReadLine();
     string message = ValiderTelephone(noTelephone) ? "Numéro valide" : "Numéro invalide";
}

如果您迫切需要使用三元的东西,我会按照磁控管在评论中指出的方式进行,但实际上,如果您要循环,则安排您拥有的代码/设置消息没有任何意义直到它有效,因为你没有使用你设置的消息! 这意味着当代码到达消息可以用于某事的点时,它肯定是“数字有效”

怎么样:

Console.WriteLine("Enter number:");
string num = Console.ReadLine();
while(!ValidNumber(num)){
  Console.WriteLine("Invalid number, try again:");
  num = Console.ReadLine();
}
string message = "Number valid";

或更好:

private string Ask(string question){
  Console.WriteLine(question);
  return Console.ReadLine();
}

...

string num = Ask("Enter number:");
while(!ValidNumber(num))
  num = Ask("Invalid number, try again:");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM