Hola
AIQ1516!.
1º Bienvenido al Foro.
2º Lo que tienes que hacer son eso es recorrer los valores de tu array[] y hacerles la operación. Te dejo un código de un Formulario con solo un
Label que va a mostrar la respuesta :
Código C:
Ver originalusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
//Coloco los valore que contienen manualmente
string[] array = {"1","+","2","*","3","-","4"};
Double total = 0;
Int32 operador = 0;
private void Form5_Load(object sender, EventArgs e)
{
try
{
//saber la longitud del array[] y recorrerlo
for (int i = 0; i < array.Length; i++)
{
//Vamos a comparar el contenido de array si es...
switch (array[i])
{
//Suma
case "+":
operador = 1;
break;
//Resta
case "-":
operador = 2;
break;
//Multiplicacion
case "*":
operador = 3;
break;
//Division
case "/":
operador = 4;
break;
//Residuo
case "%":
operador = 5;
break;
//Si no es ninguno de los anteriores entonces asumiremos que...
default:
//Si el contenido es un numero
if (char.IsNumber(Convert.ToChar(array[i])))
{
switch (operador)
{
//Como la primera posicion va a ser un numero
//Solamente pasamos el valor
case 0 :
total = Convert.ToDouble(array[i]);
break;
case 1 :
//Como el contenido anterior fue suma
//Entonces sumamos
total = total + Convert.ToDouble(array[i]);
break;
case 2 :
//Como el contenido anterior fue resta
//Entonces restamos
total = total - Convert.ToDouble(array[i]);
break;
case 3 :
//Como el contenido anterior fue multiplicacion
//Entonces multiplicamos
total = total * Convert.ToDouble(array[i]);
break;
case 4 :
//Como el contenido anterior fue division
//Entonces dividimos
total = total / Convert.ToDouble(array[i]);
break;
case 5 :
//Como el contenido anterior fue residuo
//Entonces hayamos el residuo de la division
total = total % Convert.ToDouble(array[i]);
break;
}
}
//Sino es numero mandaremos un mensaje
else
{
//Mensaje personalizado
MessageBox.Show("La posicion " + i.ToString() + "No es una operacion matematica ni numero \n" +
"Contenido de la posicion " + i.ToString() + " : " + array[i] + ". \n" +
"Fin de la Operacion del Metodo.","Contenido no numerico dentro del array",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
//Salimos de toda la estructura y finaliza toda operacion
return;
}
break;
}
}
//Una vez finalizado todo el recorrido imprimimos el total
label1.Text = total.ToString();
}
//En Caso suceda en error de excepcion
catch (Exception ex)
{
//Mostraremos el mensaje de la incidencia
MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
4º Espero te haya sido útil ya que está explicado para que puedas entender. Probablemente sea mucho código pero está con validaciones. Saludos!
.