none
Suma de un arreglo en c# RRS feed

  • Pregunta

  • Hola me podrian ayudar debo de realice un programa que cree un archivo de texto el de texto sumara los elementos de un arreglo (Binary). Esto es lo que tengo hasta ahora PERO ME MARCA UN ERROR EN ESTA LINEA  numeros[x] = int.Parse(txtMostrar.Text + txtMostrar.Text);

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace PRACTICA1._4
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
               // int main()
                {
                    
                    int [] numeros =new int [10];
                   
                    int sumatoria = 0;//Aquí vamos a almacenar cada valor
                    for (int x = 0; x < 10 ; x++)
                    {
                        numeros[x] = int.Parse(txtMostrar.Text + txtMostrar.Text);
                        int numeroActual = numeros[x];
                        // Sumar el número actual a la sumatoria
                        sumatoria = sumatoria + numeroActual;
                        // También se puede sumar de forma más simple:
                        // sumatoria += numeroActual;
                    }
                    MessageBox.Show("La sumatoria es: %d"+ sumatoria);
                    //return 0;
    
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamReader sr = new StreamReader(openFileDialog1.FileName);
                    txtMostrar.Text = sr.ReadToEnd();
                    sr.Close();
                }
            }
    
        }
    }



    viernes, 29 de mayo de 2020 19:40

Todas las respuestas

  • ME MARCA UN ERROR EN ESTA LINEA  numeros[x] = int.Parse(txtMostrar.Text + txtMostrar.Text);

    En principio la línea en sí misma es sintácticamente correcta y no debería provocar ningún error de compilación.

    Acostúmbrate a no decir nunca en los foros "me marca un error". Siempre hay que decir cuál es el error. Con todos los detalles posibles: copiar el texto exacto y completo del mensaje de error, e indicar cualquier información adicional que sea razonable, como por ejemplo si el error se produce en tiempo de compilación o de ejecución.

    viernes, 29 de mayo de 2020 19:55
    Moderador
  • El error se produce a la hora de ejecutar  me sale Excepción no controlada System.FormatException: 'La cadena de entrada no tiene el formato correcto.'
    viernes, 29 de mayo de 2020 20:32
  • Si te marca ese error es porque a lo mejor el valor que está tomando <txtMostrarText> No es numérico.

    Antonio Mata

    viernes, 29 de mayo de 2020 20:47
  •  'La cadena de entrada no tiene el formato correcto.'

    Ah, entonces está claro el problema: Fíjate que con esa instrucción estás concatenando el contenido de una caja de texto consigo mismo y luego convirtiendo el resultado en un número entero. Esto solo funcionará bien si el texto resultante es efectivamente un número. Por ejemplo, si en la caja metes un 1, al concatenarlo saldrá la cadena "11" y al convertirlo a entero te dará el número 11. Pero si, por ejemplo, está la caja vacía, al concatenarlo saldrá una cadena vacía, y al intentar convertirla a entero te dirá que no tiene el formato correcto, porque una cadena vacía no es un número correcto.

    En resumen: cerciórate de que la caja de texto contienen algo que al doblarlo dé lugar a un número. Si no tienes la seguridad de que siempre va a ser así, mete primero algo de código para comprobarlo y en caso de que no tengan un número muéstrale un mensaje al usuario para indicarle que lo que ha tecleado no es correcto.

    sábado, 30 de mayo de 2020 6:18
    Moderador
  • Hola

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las respuestas proporcionadas?  

     

    Gracias por usar los foros de MSDN. 

    miércoles, 3 de junio de 2020 21:33
    Moderador