Articles of c #

Wie Sie die C # Switch-statement verwenden, verwenden Sie IgnoreCase

Wenn ich eine switch-case-statement habe, bei der das Objekt im switch String ist, ist es dann möglich, ignoreCase compare trotzdem zu tun? Ich habe zum Beispiel: string s = “house”; switch (s) { case “houSe”: s = “window”; } Will s Wert “Fenster” erhalten. Wie überschreibt man die switch-case-statement, damit die Strings mit ignoreCase verglichen […]

Ist std :: cout garantiert initialisiert?

Was ich über C ++ weiß, ist, dass die Reihenfolge der Konstruktionen (und Destruktionen) globaler Instanzen nicht angenommen werden sollte. Während ich Code mit einer globalen Instanz schreibe, die std::cout im Konstruktor & destructor verwendet, habe ich eine Frage bekommen. std::cout ist auch eine globale Instanz von iostream. Wird std::cout garantiert vor anderen globalen Instanzen […]

Reihenfolge der Auswertung von Elementen in der Listeninitialisierung

In dem anderen Thema gab @Dietmar diese Lösung: template std::tuple parse(std::istream& in) { return std::tuple{ T(in)… }; } mit der Aussage, Die Verwendung der geschweiften Klammerinitialisierung funktioniert, da die Reihenfolge der Auswertung der Argumente in einer geschweiften Initialisierungsliste die Reihenfolge ist, in der sie angezeigt werden . (betone meine) Der relevante Text aus dem C […]

Warum ist ein negativer int größer als unsigned int?

int main(void) { unsigned int y = 10; int x = – 4; if (x > y) Printf(“x is greater”); else Printf(“y is greater”); getch(); return (0); } Output: x is greater Ich dachte, die Ausgabe wäre y ist größer, da es vorzeichenlos ist. Was ist der Grund dafür?

Wie übergibt man ein konstantes Array-Literal an eine function, die einen pointers ohne Verwendung einer Variablen C / C ++ nimmt?

Wenn ich einen Prototyp habe, der so aussieht: function(float,float,float,float) Ich kann Werte wie folgt weitergeben: function(1,2,3,4); Also wenn mein Prototyp das ist: function(float*); Gibt es eine Möglichkeit, so etwas zu erreichen? function( {1,2,3,4} ); Ich suche nur nach einem faulen Weg, dies zu tun, ohne eine temporäre Variable zu erstellen, aber ich kann die Syntax […]

Unsequenced Wertberechnungen (aka Sequenzpunkte)

Es tut uns leid, dass ich dieses Thema erneut geöffnet habe, aber bei diesem Thema habe ich angefangen, mir ein undefiniertes Verhalten zu geben. Willst du dich in die Zone des wohldefinierten Verhaltens begeben? Gegeben int i = 0; int v[10]; i = ++i; //Expr1 i = i++; //Expr2 ++ ++i; //Expr3 i = v[i++]; […]

Wiederholen Sie eine Aufgabe mehrmals basierend auf Benutzereingaben im Falle einer Ausnahme in der Aufgabe

Alle Serviceaufrufe in meiner Anwendung sind als Aufgaben implementiert. Wenn eine Aufgabe errorshaft ist, muss ich dem Benutzer ein Dialogfeld anzeigen, um die letzte Operation fehlgeschlagen zu versuchen. Wenn der Benutzer versucht, wiederholen Sie das Programm sollte die Aufgabe erneut versuchen, sonst die Die Ausführung des Programms sollte nach dem Protokollieren der Exception fortgesetzt werden. […]

Verwenden von “\ n” in scanf () in C

Ich benutzte fälschlicherweise scanf(“%d\n”,&val); In einem meiner Programme konnte ich das Verhalten nicht verstehen, zeigte die function. int main(){ int val; scanf(“%d\n”, &val); printf(“%d\n”, val); return 0; } Jetzt benötigt das Programm 2 ganzzahlige Eingaben und gibt die erste Eingabe aus, die eingegeben wurde. Welchen Unterschied sollte das Extra \n bringen? Ich habe versucht zu […]

ShouldSerialize * () vs * Angegebenes bedingtes Serialisierungsmuster

Ich kenne sowohl das ShouldSerialize * -Muster als auch das * Specified-Muster und wie sie funktionieren, aber gibt es einen Unterschied zwischen den beiden? Gibt es irgendwelche “gotchas”, die eine Methode gegen die andere verwenden, wenn bestimmte Dinge bedingt serialisiert werden sollten? Diese Frage ist spezifisch für die Verwendung von XmlSerializer , aber allgemeine Informationen […]

Generiere N zufällige und eindeutige Zahlen innerhalb eines Bereichs

Was ist ein effizienter Weg, N eindeutige Zahlen innerhalb eines gegebenen Bereichs mit C # zu erzeugen? Erzeugen Sie zum Beispiel 6 eindeutige Zahlen zwischen 1 und 50. Ein einfacher Weg wäre, Random.Next() einfach in einer Schleife zu verwenden und diese Nummer in einem Array / einer Liste zu speichern, dann zu wiederholen und zu […]