118 votes

string.Format () get La chaîne d'entrée n'est pas au format correct

Qu'est-ce que je fais mal est ici ??

 string tmp = @"
    if (UseImageFiles) {
        vCalHeader += ""<td><img onmousedown='' src= '{0}cal_fastreverse.gif' width='13px' height='9' onmouseover='changeBorder(this, 0)' onmouseout='changeBorder(this, 1)' style='border:1px solid white'></td>\n""; //Year scroller (decrease 1 year)
        calHeight += 22;
    }";

string x = "xter";
tmp = string.Format(tmp, x);
 

J'ai reçu une "La chaîne d'entrée n'était pas au format correct" pendant que j'essayais de changer {0}. Je fais le code en c # et winforms

Exception de format non gérée
La chaîne d'entrée n'était pas au format correct
Dépannez les astuces que je reçois:

 Make sure your method arguments are in right format.
when converting a string to datetime, parse the string to take out  the date before putting each variable into the DateTime object
 

319voto

Christian.K Points 18883

string.Format() considère que chaque '{' ou '}' fait partie d'un espace réservé (comme '{0}' que vous utilisez déjà). Vous devez échapper à chaque occurrence littérale en la doublant.

Alors dans votre cas, faites:

  string tmp = @"
    if (UseImageFiles) {{
        ...
    }}";
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X