myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Was bedeutet die Warnung CS0252?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Was bedeutet die Warnung CS0252?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
MMazi
myCSharp.de-Mitglied

Dabei seit: 11.09.2020
Beiträge: 40


MMazi ist offline

Was bedeutet die Warnung CS0252?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi
Ich habe diese Codezeile Fehler:

Fehlermeldung:
Warnung CS0252 Möglicher unbeabsichtigter Referenzvergleich; Um einen Wertevergleich zu erhalten, geben Sie auf der linken Seite 'string' ein.

C#-Code:
private void btnStart_Click(object sender, RoutedEventArgs e)

        {
          // hier kommt die Fehlermeldung
            if (btnStart.Content == "Start")
            {
               _currentTimer = new Timer();
                txtStart.Text = _currentTimer.Start.ToString("HH:mm:ss");
                btnStart.Content = "Ende";
            }
            else
            {

                DateTime Ende = new DateTime(2020, 11, 10, 0, 0, 0);
                _currentTimer.Ende = DateTime.Now;
                _currentTimer.Dauer = _currentTimer.Ende - _currentTimer.Start;
                txtEnde.Text = _currentTimer.Ende.ToString("HH:mm:ss");
                Timer.Add(_currentTimer);


                //private void btnEnde_Click(object sender, RoutedEventArgs e)
                //{
            }

            foreach (Control tbx in Controls)
            {
                if (tbx.GetType() == typeof(TextBox))
                {
                    ((TextBox)tbx).Clear();
                }
            }
            btnStart.Content = "Start";
        }

wäre ich dankbar für die Antworten

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MMazi am 19.11.2020 10:08.

19.11.2020 10:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
witte
myCSharp.de-Mitglied

Dabei seit: 03.09.2010
Beiträge: 935


witte ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Content ist object?
 Compiler Warning (level 2) CS0252
19.11.2020 10:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MMazi
myCSharp.de-Mitglied

Dabei seit: 11.09.2020
Beiträge: 40

Themenstarter Thema begonnen von MMazi

MMazi ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Content ist der Text ,der Name von Button in WPF halt

C#-Code:
<Button
                x:Name="btnStart"
                Grid.Column="0"
                Width="100"
                Height="20"
                Margin="5,5,5,5"
                Click="btnStart_Click"
                Content="Start" />
19.11.2020 11:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
dannoe
myCSharp.de-Mitglied

Dabei seit: 24.11.2015
Beiträge: 125
Entwicklungsumgebung: VS2005-VS2017


dannoe ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dannoe am 19.11.2020 11:20.

19.11.2020 11:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
chilic
myCSharp.de-Poweruser/ Experte

Dabei seit: 12.02.2010
Beiträge: 2.061


chilic ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Der Vergleich von zwei Objektvariablen ergibt, ob beide Variablen auf das selbe Objekt zeigen.
Bei einem String will man aber in der Regel nicht wissen ob zwei Stringvariablen auf das selbe Stringobjekt zeigen, sondern ob die Strings vom Inhalt her gleich sind. Der Vergleich von Strings ist daher überschrieben und vergleicht den String Inhalt.

Bildlich: Du hast zwei verschiedene Zettel, also verschiedene Objekte. Auf beiden steht der gleiche Text.
Der Objektvergleich ergibt "sind nicht gleich", denn es sind zwei separate Zettel.
Der Textvergleich ergibt "ist gleich", denn es ist der selbe Text.

Für deinen Vergleich ist das sehr wichtig, denn bisher vergleichst du das Objekt btnStart.Content das selbe Objekt ist wie der String "Start". Das dürfte nicht der Fall sein.
Was du stattdessen wissen willst ist, ob in btnStart.Content der Text "Start" steht.

Die Warnung zeigt an, dass du an dieser Stelle etwas tust, was du eventuell nicht so haben willst.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von chilic am 21.11.2020 11:47.

21.11.2020 11:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 17.01.2021 23:24