为什么Visual Studio说我的输入字符串格式不正确

本文关键字:字符串 格式 不正确 输入 我的 Visual Studio 为什么 | 更新日期: 2023-09-27 18:31:34

以下代码:

string year = textBoxYear.Text;
string award = comboBoxAwards.Text;
string cat = comboBoxCategory.Text;
string title = textBoxTitle.Text;
string author = textBoxAuthor.Text;
string kindleASIN = textBoxKindleASIN.Text;
string hardboundASIN = textBoxHardboundASIN.Text;
string paperbackASIN = textBoxPaperbackASIN.Text;
string imgSrc = getImgSrc(kindleASIN, hardboundASIN, paperbackASIN);
string newRec = // Keeping year as int for LINQ querying (where year > or < such and such), and yearDisplay spans two years for some awards
    string.Format(
        "new BookClass{Award='"{0}'", Year={1}, YearDisplay='"{1}'", Category='"{2}'", Title='"{3}'", Author='"{4}'", KindleASIN='"{5}'", HardboundASIN='"{6}'", PaperbackASIN='"{7}'", ImgSrc='"{8}'"},", award, year, cat, title, author, kindleASIN, hardboundASIN, paperbackASIN, imgSrc);

。使用此数据:

year = "2013"
award = "Hugos"
cat = "Best Novel"
title == "Redshirts"
author == "John Scalzi"
kindleASIN == "B0079XPUOW"
hardboundASIN == "0765316994"
paperbackASIN == "0765334798"
imgSrc == "http://images.amazon.com/images/P/B0079XPUOW.01.MZZZZZZZ"

。在分配给imgSrc的任务中死亡,他说:"System.FormatException未处理 HResult=-2146233033 消息=输入字符串格式不正确"。

。和"故障排除提示"说,"将字符串转换为 DateTime 时,在将每个变量放入 DateTime 对象之前,解析字符串以获取日期。

但我没有将字符串转换为日期时间...可能是什么问题?

为什么Visual Studio说我的输入字符串格式不正确

不是替换令牌的大括号把它搞砸了

new BookClass{Award=''"{0}''", Year={1}, YearDisplay=''"{1}''"      这里--^

您需要通过加倍来转义您使用的任何{},它们将在 Format 函数处理字符串后显示为单个大括号。

string.Format(
        "new BookClass{{Award='"{0}'", Year={1}, YearDisplay='"{1}'", Category='"{2}'", Title='"{3}'", Author='"{4}'", KindleASIN='"{5}'", HardboundASIN='"{6}'", PaperbackASIN='"{7}'", ImgSrc='"{8}'"}},", award, year, cat, title, author, kindleASIN, hardboundASIN, paperbackASIN, imgSrc);