Tag: string.format

使用String.Format时的exception“索引(从零开始)必须大于或等于零且小于参数列表的大小。”

我有一个arrays ArrayList array = new ArrayList(); array.Add(“a”); array.Add(“b”); array.Add(“c”); 我有一个字符串变量refFormat ,其格式如下。 string refFormat = “{2} {0}”; 我正在尝试使用此格式从数组中获取一串值。 以下是我写的内容。 string newStr = String.Format(refFormat,array.ToArray()); 当我尝试这样做时,我得到以下exception。 索引(从零开始)必须大于或等于零且小于参数列表的大小。 我知道这个问题听起来很重复,但我怀疑的是如何从数组中选择其索引是以2和0格式指定的值 。 请帮忙.. 编辑 :对不起提出错误的问题。 我正在使用arraylist而不是字符串数组我正在尝试相同的。 尽管使用ToArray()将其转换为数组,我仍然得到exception。 我哪里错了? 而且我也不能在这里使用List而不是arraylist,因为数组包含不同类型的数据。 请帮帮我..

如何让String.Format不解析{0}

我正在编写一个代码生成工具,经常会有类似的行 StringBuilder sp = new Stringbuilder(); sp.AppendFormat(” public {0}TextColumn()\n”, className); sp.AppendLine(” {” sp.AppendLine(” Column = new DataGridViewTextBoxColumn();”); sp.AppendFormat(” Column.DataPropertyName = \”{0}\”;\n”, columnName); 然而,我遇到的问题是当我遇到这样的一行时。 sp.AppendFormat(“return String.Format(\”{0} = ‘{0}’\”, cmbList.SelectedValue);”, columnName); 我希望第一个{0}转入columnName的值,但是我希望第二个{0}保持String.Format ,因此内部String.Format将正确处理它。 我该怎么做呢?

使用C#中的String.Format格式化字符串时出现问题

我需要在特定格式的消息框中打印一个字符串,我使用的代码如下所示: string text=””; for (int i=0; i<n; i++) { a=.. b=.. c=.. text += String.Format("{0, -8} {1,-4} {2,8}", a, b, c); } MessageBox.Show(text); 因此,对于以下一组值: XYZ,ABC,100 X,ABC,100 我得到以下输出: XYZ ABC 100 X ABC 100 所以你可以看到第二行格式不正确。 可能这种情况正在发生,因为我在MessageBox中打印它。 角色和“空间”所占的空间是不同的。 对此有何解决方案?

String.Format用于TextBoxFor上的货币

我试图将@String.Format(“{0:0.00}”,Model.CurrentBalance)放入此@Html.TextBoxFor(model => model.CurrentBalance, new { @class = “required numeric”, id = “CurrentBalance” }) 我只是希望货币在我的文本框中显示为.00但是没有运气。 关于我如何做到这一点的任何想法?

CultureInfo.CurrentCulture在String.Format()中是否真的必要?

您如何认为在方法String.Format(string, object)提供IFormatProvider真的很有必要? 写完整变体是否更好 String.Format(CultureInfo.CurrentCulture, “String is {0}”, str); 要不就 String.Format(“String is {0}”, str); ?

如何在Visual Studio中更快地键入“{0}”?

在C#中,在使用string.Format()或Console.WriteLine()格式化字符串时,必须键入{0} , {1}等。 考虑到它的频率,它是一组尴尬的击键。 但是,尽管我进行了搜索,但我找不到任何类型的速记或热键来自动将其插入Visual Studio中。 有没有人想出一些方法来加快这个过程?

奇怪的System.Format例外

我只是尝试为我的unit testing构建一个json字符串,并且意外地下面的代码返回系统格式exception。 错误消息表明它正在尝试解析日期,这对我来说很奇怪。 我不是要求解析日期。 class Program { static void Main(string[] args) { Console.WriteLine(GetJson()); Console.ReadKey(); } static string GetJson(string dateStr = “”, string lta = “5.25”) { return String.Format(“[{\”dateBooking\”:\”{0}\”,\”lta\”:\”{1}\”}]”, dateStr, lta); } } 它可以很容易地重现,但我添加了exception细节:“mscorlib.dll中发生了’System.FormatException’类型的未处理exception 附加信息:输入字符串的格式不正确。“

C#String.Format可选参数

我想使用带有optional parameters string.Format : public static void Main(string[] args) { //Your code goes here // Console.WriteLine(string.Format(“{0} {1}”, “a”, “b”)); Console.WriteLine(string.Format(“{0} {1}”, “a”)); } 例如,参数{1}是可选的并具有默认值 你能帮我这么做吗? 谢谢

双串。格式

我有一些双重值,我想转换为具有此模式的字符串: 0.xx or x.xx 目前我试过这个: double.ToString(“#.#0”); 如果我的号码从零开始,我应该添加什么才能看到零?

如何构建WMI查询

我想找到名称以param1开头的结果,并以param2结尾但我的代码不起作用 string wmiQuery = string.Format(“SELECT CommandLine FROM Win32_Process WHERE Name LIKE ‘{0}%’ AND Name LIKE ‘%{1}'”, param1, param2); ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiQuery); ManagementObjectCollection retObjectCollection = searcher.Get(); 怎么了? 比较 string wmiQuery = string.Format(“SELECT CommandLine FROM Win32_Process WHERE Name LIKE ‘{0}%'”, param1); 效果很好