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";
}

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

怎么样:

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:");