-2
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Not.Text =
              (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
              (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
              (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
              (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
              (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
              (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));
        }
    }
}

当我到达最后一个分号时,我在将 int 转换为 string 时遇到了问题。我刚开始学习C#,我想先学习基本的东西。

4

3 回答 3

0

您不能将 int 分配给 textBox 的 text 属性。将 int 格式化为字符串,

   Not.Text =
      (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text)).ToString();

或将其转换为字符串

   Not.Text =
      (string)(Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));
于 2013-07-28T03:34:46.870 回答
0

C# 中的每个对象都有一个ToString(). 你可以打电话ToString()给你的结果。

private void button1_Click(object sender, EventArgs e)
{
    int result = 
      (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));
     Not.Text = result.ToString();
}

您也将要使用int.TryParse。如果在文本框中键入非数字值Convert.ToInt32将引发异常。

于 2013-07-28T03:34:54.930 回答
0

正如错误明确指出的那样,您不能将inta 分配给应该采用string.

您可以调用该ToString()方法将数字转换为string.

于 2013-07-28T03:34:57.823 回答