0

こんにちは、私はまったく新しいので、初心者の質問を厳しく判断しないでください。

namespace Oef5_3_ShowIncome
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            ShowIncome(YearSalary, numberOfYears);
            MessageBox.Show("something something ", Convert.ToString(ShowIncome)));
        }

        private int ShowIncome(int lalala, int dadada)
        {
            int results = lalala * dadada;
            return results;
        }
    }
}

in... MessageBox.Show("何か何か" Convert.ToString(ShowIncome))); 次のエラーが表示されます: windows.form.messagebox.show(string, string) に一致する最適なオーバーロードされたメソッドには無効な引数があります。

4

6 に答える 6

2
private void Button_Click(object sender, EventArgs e)
{
    int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
    int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
    int showInCome = ShowIncome(YearSalary, numberOfYears);
    MessageBox.Show("something something ", showInCome.ToString()));
}
于 2012-11-06T18:44:10.997 に答える
2

この行では、結果を変数に保存せずにメソッドを呼び出しています

ShowIncome(YearSalary, numberOfYears);

やりたいことはこれ

int result = ShowIncome(YearSalary, numberOfYears);

そして、結果をメッセージボックスメソッドに渡します

MessageBox.Show("something something ", result.ToString()));
于 2012-11-06T18:48:14.367 に答える
1

うーん、あなたはパーサーを混乱させたと思います。ShowIncome を引数として使用する方法がわかりませんでした。

private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            int income = ShowIncome(YearSalary, numberOfYears);
            MessageBox.Show("something something ", Convert.ToString(income));
        }

また

private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            MessageBox.Show("something something ", Convert.ToString(ShowIncome(YearSalary, numberOfYears)));
        }
于 2012-11-06T18:59:06.967 に答える
1
int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
        int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
        ShowIncome(YearSalary, numberOfYears);
        MessageBox.Show("something something ", Convert.ToString(ShowIncome(100000, 5).ToString())));

パラメータを渡さずにメソッドを呼び出したためです。

于 2012-11-06T18:47:41.990 に答える
0

これは、ShowIncome に引数を渡していないため、メソッド グループで Convert.ToString を効果的に呼び出そうとしているためです。

于 2012-11-06T18:47:05.577 に答える
0

みなさん、こんにちは。私は、同じエラーが再び発生した場合、...result.ToString を使用するか、結果として独自の引数を与えるなど、そのエラーをバイパスする方法を 2 つ学びました。 tostring(1000,500);

しかし、たとえば int something = ShowIncome(YearSalary, numberOfYears); のような変数を作成すると、問題の解決策を見てきました。

MessageBox.Show("yay ランダムな単語 lalala " + Convert.ToString(something));

その後、それはどういうわけか機能します、その理由を知りたいです

于 2012-11-06T19:05:25.273 に答える