[英]How can I get my C# and MySql to return more than one entry from the database?
[英]How can I get my calculator to do more than one calculation? (C#)
我使用 Visual Studio 和 C# 編程語言創建了一個計算器。 一切都很好,除了一件事。
我不能讓計算器一次做多個計算(例如:3 + 3),我希望它可以做 3 + 3 + 3 + 3,但我不知道該怎么做。
(我把你應該感興趣的代碼留在下面)
private void click_operazione(object sender, EventArgs e)
{
double i;
if (double.TryParse(textBox1.Text, out i))
{
Button b = (Button)sender;
Operazione = b.Text;
numero = double.Parse((textBox1.Text));
hapremuto_operazione = true;
textBox2.Text = numero + " " + Operazione;
}
}
private void risultato_click(object sender, EventArgs e)
{
hapremuto_uguale = true;
switch (Operazione)
{
case "+":
risultato = (numero + double.Parse(textBox1.Text)).ToString();
textBox2.Text = textBox2.Text + " " + textBox1.Text;
textBox1.Text = risultato;
textBox2.Text = textBox2.Text + " = " + risultato;
break;
case "-":
risultato = (numero - double.Parse(textBox1.Text)).ToString();
textBox2.Text = textBox2.Text + " " + textBox1.Text;
textBox1.Text = risultato;
textBox2.Text = textBox2.Text + " = " + risultato;
break;
case "x":
risultato = (numero * double.Parse(textBox1.Text)).ToString();
if (risultato.Length <= 15)
{
textBox2.Text = textBox2.Text + " " + textBox1.Text;
textBox1.Text = risultato;
textBox2.Text = textBox2.Text + " = " + risultato;
}
else
{
textBox1.Text = "errore";
textBox2.Text = "errore";
}
break;
case ":":
risultato = (numero / double.Parse(textBox1.Text)).ToString();
textBox2.Text = textBox2.Text + " " + textBox1.Text;
textBox1.Text = risultato;
textBox2.Text = textBox2.Text + " = " + risultato;
break;
case "%":
risultato = ((numero * double.Parse(textBox1.Text)) / 100).ToString();
textBox2.Text = textBox2.Text + " " + textBox1.Text;
textBox1.Text = risultato;
textBox2.Text = textBox2.Text + " = " + risultato;
break;
}
ha_appena_messo_una_virgola = false;
}
我還沒有嘗試任何東西,我沒有想到任何想法
您可以創建一個接受用於計算的方法引用的delegate
請參閱代表。
public delegate double CalculateExpression(double value1, double value2);
然后,您需要創建與委托具有相同參數列表和相同返回類型的方法。
例如,這將成倍增加:
總的來說,我建議尋找代表來解決這個問題。
public double Multiply(double value1, double value2)
{
return value1 * value2;
// add validation and etc. if needed instead of returning
// immediately .
}
在調用方法中創建和使用此委托。
var calcExpression = new CalculateExpression(Multiply);
double result = calcExpression(10, 10); // result is 100.
您可以通過文本框加號按鈕輸入重復編號,或者在下拉列表 select 中輸入當前操作的重復值。
因此,例如,您希望將 3 添加到自身 10 次通過您的界面輸入數字 10,然后在后端進行必要的計算。 謝謝。
啊我明白了
然后我會有一個 textArea ,用戶可以在其中繼續添加由一些分隔符分隔的操作,您可以預先告知。
然后當他們完成后,他們點擊一些按鈕開始處理。
在后端,您將每個操作存儲在一個列表中。
驗證每個操作可能使用某些表達式 API,評估每個操作並最終一次性顯示所有結果
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.