String.Format中的FormatException

时间:2016-03-30 11:32:14

标签: c#

我正在尝试了解String.Format,但它不断抛出FormatException。

有人能指出我的错误吗?

$(document).ready(function() {
    var myRadio = $('input[name=mode]');
    myRadio.on('change', function () {
        var mode=myRadio.filter(':checked').val();
        $("ul.dropdown-menu li a").each(function(){
           $(this).attr('href',$(this).attr('href').split('?')[0] + "?mode=" + mode);
        });
    }).change(); //trigger on page load          
});

2 个答案:

答案 0 :(得分:4)

格式字符串中的索引是从0开始的。

Console.WriteLine(String.Format("Mr. {1} will be elected as president on {2}", p, d));

所以你试图访问第二个和第三个格式参数(Format调用的第三个和第四个参数)。

但是你只指定了两个参数。因此,请将格式字符串更改为:

Console.WriteLine(String.Format("Mr. {0} will be elected as president on {1}", p, d));

它应该有用。

请注意,他们给了我们string interpolation C#6,所以现在你可以这样做:

Console.WriteLine($"Mr. {p} will be elected as president on {d}");

答案 1 :(得分:0)

Console.WriteLine(String.Format("Mr. {0} will be elected as president on {1}", p, d));

查看C# string.Format Method