C#将switch语句与单选按钮一起使用

C#将switch语句与单选按钮一起使用,c#,switch-statement,radio-button,C#,Switch Statement,Radio Button,我想使用switch方法为变量分配一个字符串值。 我定义我的变量: 字符串目的地 //那么我可以用如果;否则,如果;否则如果。。。但是它太重了。 //我想要: 开关(选中任何单选按钮) 目的地=选中单选按钮 我想它看起来是这样的: switch (????) case IrelandRaddioButton.Checked = true Destination = IrelandRadioButton.Text; Break; case FranceRaddioButton.Checked =

我想使用switch方法为变量分配一个字符串值。 我定义我的变量: 字符串目的地 //那么我可以用如果;否则,如果;否则如果。。。但是它太重了。 //我想要: 开关(选中任何单选按钮) 目的地=选中单选按钮

我想它看起来是这样的:

switch (????)
case IrelandRaddioButton.Checked = true
Destination = IrelandRadioButton.Text;
Break;

case FranceRaddioButton.Checked = true
Destination = FranceRadioButton.Text;
Break;

case SpainRaddioButton.Checked = true
Destination = SpainRaddioButton.Text;
Break;
等等。。。 如果你能帮我写正确的代码,我想更好地理解switch语句,避免创建一个巨大的If,else If。。。 非常感谢

如果(如示例中所示)每个选项的代码相同,您可以将其作为

  using System.Linq;

  ...

  // Either declare RadioButtons to check or enumerate them 
  // (enumeration depends on whether you use WinForms, WPF, etc.) 
  var buttons = new RadioButton[] {
    IrelandRaddioButton,
    FranceRaddioButton,
    SpainRaddioButton,           
  };

  Destination = buttons.FirstOrDefault(button => button.Checked)?.Text; 
编辑:对于WinForms,您可以借助
控件
枚举所有的
单选按钮。假设所有感兴趣的
单选按钮
都在
myPanel
上(如果它们在表单上,则将


请注意,现在您可以添加/删除
单选按钮
s而无需任何代码修改

为什么
切换
,而不是
如果(IrelandRaddioButton.Checked){…}如果(franceradiobutton.Checked){…}
,我有6个单选按钮,如果有超过3或4个按钮,我的讲师会指出这一点;否则的话就太重了。我同意他的观点,更好地处理转换声明是它的结果。对我的问题来说似乎很好。我使用Winforms,我非常喜欢使用switch语句。
  var buttons = myPanel
    .Controls()
    .OfType<RadioButton>();
  Destination = myPanel
    .Controls()
    .OfType<RadioButton>()
    .FirstOrDefault(button => button.Checked)
   ?.Text;