Я хотел бы использовать его не только для сравнения. У меня может быть больше операций внутри оператора if. Должен ли выбранный элемент передаваться как объект, строка или просто достаточно хорошо закодирован?

равильно передать выбранный элемент ComboBox в качестве параметра метода?

Или есть ли какое-либо преимущество в этом?

У меня ограниченный опыт разработки программ и передачи параметров.

Вот пример метода, который возвращает противоположный цвет выбранного.

XAML
<ComboBox x:Name="cboColors" 
          HorizontalAlignment="Left" 
          Margin="179,82,0,0" 
          VerticalAlignment="Top"
          Width="120"
          SelectedIndex="0">
    <System:String>Red</System:String>
    <System:String>Orange</System:String>
    <System:String>Yellow</System:String>
    <System:String>Green</System:String>
    <System:String>Blue</System:String>
    <System:String>Purple</System:String>
</ComboBox>
С Sharp

HARDCODED

Выбранный элемент ComboBox устанавливается в операторе if

// Find Opposite Color
//
public String OppositeColor()
{
    if ((string)cboColors.SelectedItem == "Red")
    {
        return "Green";
    }
    else if ((string)cboColors.SelectedItem == "Orange")
    {
        return "Blue";
    }
    else if ((string)cboColors.SelectedItem == "Yellow")
    {
        return "Purple";
    }
    else if ((string)cboColors.SelectedItem == "Green")
    {
        return "Red";
    }
    else if ((string)cboColors.SelectedItem == "Blue")
    {
        return "Orange";
    }
    else if ((string)cboColors.SelectedItem == "Purple")
    {
        return "Yellow";
    }
    else
    {
        return string.Empty;
    }
}


// Display Opposite Color Button
//
private void button_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show(OppositeColor());
}

 

Передать параметр

Выбранный элемент ComboBox устанавливается в объект, а затем передается в метод

// Find Opposite Color
//
public String OppositeColor(Object color)
{
    if (color.Equals("Red"))
    {
        return "Green";
    }

    ...
}


// Display Opposite Color Button
//    
private void button_Click(object sender, RoutedEventArgs e)
{
    // Set Selected Color
    Object color = cboColors.SelectedItem;

    // Display
    MessageBox.Show(OppositeColor(color));
}

Ответы на вопрос(1)

Ваш ответ на вопрос