-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

textBox の text プロパティに int を割り当てることはできません。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

intエラーが明確に述べているように、 を受け取るはずのプロパティに を割り当てることはできませんstring

メソッドを呼び出してToString()、数値を に変換できますstring

于 2013-07-28T03:34:57.823 に答える