【问题标题】:Converting multiplication to a String [closed]将乘法转换为字符串 [关闭]
【发布时间】:2014-03-23 05:12:23
【问题描述】:

转换问题

对不起,如果这是一个愚蠢的问题,但我是 C# 的初学者。我正在尝试制作一个简单的时间表助手,但在指示的代码行下出现错误:

private void buttonShow_Click(object sender, EventArgs e)
{
    try
    {
        int val = Convert.ToInt32(textBoxVal.Text);
        for (int i = 1; i < 13; i = i + 1)
        {
            listBoxTimes.Items.Add((i * val).ToString()); //'This is the line'//
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    finally
    {
        textBoxVal.Text = "";
        listBoxTimes.Items.Clear();
    }
}

这是错误信息:

错误 1 ​​'System.Windows.Forms.ListBox.ObjectCollection.Add(object)' 的最佳重载方法匹配有一些无效参数 C:\Users\Chris\Documents\Visual Studio 2012\Projects\sharptimestable\sharptimestable\ Form1.cs 27 21 尖锐时间稳定

而这个已经结束了.ToString的转换:

错误 2 参数 1:无法从“方法组”转换为“对象”C:\Users\Chris\Documents\Visual Studio 2012\Projects\sharptimestable\sharptimestable\Form1.cs 27 44 sharptimestable

【问题讨论】:

  • 让我猜猜你刚刚更正了“.ToString);”中错误行末尾的代码到“.ToString());”并且在进行更正后您还没有重新编译。
  • 整个 try-catch-finally 代码应该从此代码中删除。一般这段代码不会引起任何异常,只要有错误就修复它们。
  • @MrFox Convert.ToInt32 可以轻松抛出异常。

标签: c# .net string type-conversion


【解决方案1】:

您的第二个错误表明您忘记了ToString 上的括号,您的张贴 代码没有显示。除非您在发布代码时修复了该错误,否则该错误在其他地方。

修复该错误也应该处理第一个错误。

【讨论】:

  • 好的,谢谢,我没有任何错误了,但似乎没有将项目添加到列表框中。
  • @user3267723 没有明显添加项目的原因是因为您的listBoxTimes.Items.Clear(); 块中有listBoxTimes.Items.Clear();。添加所有项目后,finally 将清除它们。删除它,你应该会很好。
  • 傻我!非常感谢您的帮助!
【解决方案2】:

尝试将添加行更改为:

 listBoxTimes.Items.Add(new ListboxItem("Name", (i * val).ToString()));

ListBox 的内部(默认)数据结构是 ListBoxItem。也就是说,如果您使用的是 WPF。

如果您使用的是 WinForms,请查看以下问题:

What is the proper way to load up a ListBox?

【讨论】:

  • 感谢这也有效!
猜你喜欢
  • 1970-01-01
  • 2014-03-15
  • 2011-06-14
  • 2012-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多