2016-07-27 4 views
0

Ich mache eine Anwendung, die aus comboBoxes besteht. Wenn der Benutzer "Chauffeur" in der comboBox ausgewählt hat, wird der Gesamtpreis um 10% erhöht, sobald auf btnAddDriver geklickt wird. Wenn ich jedoch "Chauffeur" wähle, erhöht sich der Gesamtpreis nicht um 10%, wenn ich auf Fahrer hinzufügen klicke, wenn ich Bremspunkte benutze, scheint es nicht zu sein, dass ich "Chauffeur" gewählt habe und die Berechnung in der if-Anweisung überspringe.ComboBox ausgewählter Artikel Zeichenfolge Vergleich scheint nicht wie erwartet zu funktionieren

My-Code ist als Brachen

int policy = 500; 
double Chauffeur = 0.10; 

     private void cmbOccupation_Loaded(object sender, RoutedEventArgs e) 
     { 
      // ... A List. 
      List<string> occupation = new List<string>(); 
      occupation.Add("Chauffeur "); 
      occupation.Add("Accountant"); 


      // ... Get the ComboBox reference. 
      var comboBox = sender as ComboBox; 

      // ... Assign the ItemsSource to the List. 
      comboBox.ItemsSource = occupation; 

      // ... Make the first item selected. 
      comboBox.SelectedIndex = 0; 
     } 

    private void btnAddDriver_Click(object sender, RoutedEventArgs e) 
     { 


      txtPolicy.Text = policy.ToString(); 

      if (cmbOccupation.SelectedItem.ToString() == "Chauffeur") 
      { 
       txtPolicy.Text = (policy * Chauffeur).ToString(); 
      } 

     } 
+1

Saiten nicht vergleichen Sie, verwenden Sie Aufzählungen für so etwas wie. Oder Klasseninstanzen, die Sie in zugänglichen Referenzen für komplexe Typen speichern. –

Antwort

1

ändern occupation.Add("Chauffeur ");

Um occupation.Add("Chauffeur");

+0

Danke das hat funktioniert :) –

2

"Chauffeur" und "Chauffeur " sind zwei verschiedene Strings in C#.

Das sind $ 150, bitte bezahlen Sie das Mädchen am Schreibtisch auf dem Weg nach draußen.

+1

Oder verwenden Sie 'Trim()', bevor Sie einen Vergleich durchführen. – Rahul

+0

@Rahul Und 'StringComparison.CurrentCultureIgnoreCase' für gutes Maß. Aber ich würde wirklich nur ein enum wie H.B verwenden. sagt. –

Verwandte Themen