Articles of c #

Est-ce que Stream.Dispose appelle toujours Stream.Close (et Stream.Flush)

Si j’ai la situation suivante: StreamWriter MySW = null; try { Stream MyStream = new FileStream(“asdf.txt”); MySW = new StreamWriter(MyStream); MySW.Write(“blah”); } finally { if (MySW != null) { MySW.Flush(); MySW.Close(); MySW.Dispose(); } } Puis-je appeler MySW.Dispose() et ignorer la fermeture même si elle est fournie? Existe-t-il des implémentations de stream qui ne fonctionnent pas […]

Quand utiliseriez-vous une liste <KeyValuePair > au lieu d’un dictionnaire ?

Quelle est la différence entre une liste de KeyValuePair et un dictionnaire pour les mêmes types? Y a-t-il un moment approprié pour utiliser l’un ou l’autre?

Comment utiliser l’argument Macro en tant que littéral de chaîne?

J’essaie de comprendre comment écrire une macro qui transmettra une représentation littérale sous forme de chaîne d’un nom de variable avec la variable elle-même dans une fonction. Par exemple, compte tenu de la fonction suivante. void do_something(ssortingng name, int val) { cout << name << ": " << val << endl; } Je voudrais écrire […]

Différence entre ssortingng.empty et ssortingng == ‘\ 0’

Supposons que nous ayons une chaîne std::ssortingng str; // some value is assigned Quelle est la différence entre str.empty() et str[0] == ‘\0’ ?

Passer des parameters complexes à

Xunit a une fonctionnalité intéressante : vous pouvez créer un test avec un atsortingbut Theory et placer des données dans des atsortingbuts InlineData , et xUnit générera de nombreux tests et les testera tous. Je veux avoir quelque chose comme ça, mais les parameters de ma méthode ne sont pas des «données simples» (comme ssortingng […]

Comment détecter le changement d’événement DataGridView CheckBox?

J’ai une application winforms et je veux déclencher du code lorsqu’une case à cocher incorporée dans un contrôle DataGridView est cochée / décochée. Chaque événement que j’ai essayé soit Déclenche dès que l’on clique sur la case à cocher, mais avant que son état vérifié ne change, ou Déclenche uniquement une fois que le CheckBox […]

Quelle est la manière C # -idiomatique d’appliquer un opérateur sur deux listes?

J’ai l’habitude de faire ça (d’autres langues): a = 1, 2, 3; b = 5, 1, 2; c = a * b; // c = 5, 2, 6 Cela prend deux listes de taille égale et applique une fonction à leurs membres, un à la fois, pour obtenir une liste des résultats. Cela pourrait être […]

Comment à la fois lire et écrire un fichier en C #

Je veux à la fois lire et écrire dans un fichier. Cela ne fonctionne pas. static void Main(ssortingng[] args) { StreamReader sr = new StreamReader(@”C:\words.txt”); StreamWriter sw = new StreamWriter(@”C:\words.txt”); } Comment puis-je lire et écrire dans un fichier en C #?

Un constructeur de déplacement `= default` est-il équivalent à un constructeur de déplacement basé sur les membres?

Est-ce struct Example { int a, b; Example(int mA, int mB) : a{mA}, b{mB} { } Example(const Example& mE) : a{mE.a}, b{mE.b} { } Example(Example&& mE) : a{move(mE.a)}, b{move(mE.b)} { } Example& operator=(const Example& mE) { a = mE.a; b = mE.b; return *this; } Example& operator=(Example&& mE) { a = move(mE.a); b = move(mE.b); […]

Comprendre INADDR_ANY pour la programmation des sockets

J’essaie de programmer des sockets et donc, côté serveur, j’utilise htonl(INADDR_ANY) . Dans la mesure où j’ai compris, il me semble que cette fonction génère une adresse IP aléatoire (est-ce que je suis correct?). En fait, je veux associer mon socket à mon localhost . Mais si je cours cela printf(“%d”,htonl(INADDR_ANY)); J’obtiens 0 comme valeur […]