Можно ли как-то использовать две переменные в switch? - C#
Формулировка задачи:
private void textBox1_TextChanged(object sender, EventArgs e)
{
equation1 = textBox1.Text;
switch (equation1)
{
case "1": textBox3.Text = "x + C" + "+" + equation2.ToString();
break;
}
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
equation2 = textBox2.Text;
switch (equation2)
{
case "1": textBox3.Text = equation2.ToString() + "+" + "x + C";
break;
}
}Решение задачи: «Можно ли как-то использовать две переменные в switch?»
textual
Листинг программы
delegate double fun(double x); //делегат
fun[] functions = { Math.Sin, Math.Cos, Math.Tan, x => 1 / x, x => 1 / (2 * x) }; //массив функций
private void textBox1_KeyDown(object sender, KeyEventArgs e) //обработка нажатия на Enter для textBox1
{
if (e.KeyCode == Keys.Enter)
Integrate(Int32.Parse(textBox1.Text), Int32.Parse(textBox1.Text)); //передача индексов функций в Integrate
}
private void textBox2_KeyDown(object sender, KeyEventArgs e) //обработка нажатия на Enter для textBox2
{
if (e.KeyCode == Keys.Enter)
Integrate(Int32.Parse(textBox1.Text), Int32.Parse(textBox1.Text)); //передача индексов функций в Integrate
}
void Integrate(int index1, int index2)
{
double x=1;
textBox3.Text = (functions[index1](x) + functions[index2](x)).ToString(); //Расчет значений функций и вывод результата
}