C# (C Sharp)

Longitud de arreglo en C#

Hoy voy a enseñarte cómo calcular la longitud de un arreglo en C#, es decir, saber cuántos elementos contiene un arreglo.

Veremos dos métodos: uno que es el más simple, y otro que puede ser usado si quieres saber la longitud de un array en C sharp sin Length.

Método simple con Length

La longitud de un arreglo puede saberse accediendo a la propiedad Length del mismo. Así:

int[] arreglo = { 999, 28, 11, 96, 1, 2, 45, 0, 1 };
int longitudConLength = arreglo.Length;

Y el tipo de dato del arreglo puede ser cualquiera. Ahora te voy a enseñar cómo calcular la longitud de un arreglo sin acceder a Length en caso de que quieras saberlo o si tu profesor ha prohibido usar ese método.

Longitud de arreglo sin Length

Para esto podemos definir nuestra propia función, hacer un foreach e ir aumentando un contador para finalmente regresarlo como resultado de la función.

A continuación te muestro cómo hacerlo en un arreglo de tipo int, pero después te enseñaré cómo usar los genéricos para usar cualquier tipo de dato.

static int longitudDeArregloEntero(int[] arreglo)
{
    int longitud = 0;
    foreach (var elemento in arreglo) longitud++;
    return longitud;
}

En este caso declaramos la longitud en 0, luego recorremos el arreglo y vamos aumentando esta longitud. Finalmente en la línea 5 la regresamos. Ahora veamos el enfoque genérico para cualquier tipo de arreglo:

static int longitudDeArreglo<T>(IList<T> arreglo)
{
    int longitud = 0;
    foreach (var elemento in arreglo) longitud++;
    return longitud;
}

En este caso en lugar de definir el tipo, definimos que será un genérico de IList<T> justo como lo expliqué en mi post de arrays genéricos con C#.

Modo de uso

Ya te mostré las funciones, ahora veamos cómo invocar al método que calcula la longitud del arreglo de enteros. Queda así:

static void Main(string[] args)
{
    int[] arreglo = { 999, 28, 11, 96, 1, 2, 45, 0, 1 };
    int longitud = longitudDeArregloEntero(arreglo);
    int longitudConLength = arreglo.Length;
    Console.WriteLine("La longitud según método es {0}, y según .Length es {0}", longitud, longitudConLength);
}

También puedes invocar a la función de genéricos así:

static void Main(string[] args)
{
    Persona[] arreglo = { new Persona("Luis", 24), new Persona("María", 24) };
    int longitud = longitudDeArreglo(arreglo);
    int longitudConLength = arreglo.Length;
    Console.WriteLine("La longitud según método es {0}, y según .Length es {0}", longitud, longitudConLength);
}

Fíjate en que ahora estamos invocando a longitudDeArreglo, pero en el ejemplo anterior invocamos a longitudDeArregloEntero; hice esto para ponerte ejemplos de cómo invocar a ambas funciones.

Poniendo todo junto

Longitud de arreglo con C#

El código completo queda como se ve a continuación, ahí estoy definiendo la clase, colocando otros arreglos (que están comentados para que no haya problemas con el nombre de las variables) y todo lo que necesité para este post:

using System;
using System.Collections.Generic;

namespace App
{
    class Persona
    {
        public string nombre;
        public int edad;
        public Persona(string nombre, int edad)
        {
            this.nombre = nombre;
            this.edad = edad;
        }

        public override string ToString()
        {
            return "Persona con nombre " + this.nombre + " y edad " + this.edad;
        }
        public void saludar()
        {
            Console.WriteLine("Me llamo " + this.nombre);
        }
    }
    class Programa
    {
        static int longitudDeArreglo<T>(IList<T> arreglo)
        {
            int longitud = 0;
            foreach (var elemento in arreglo) longitud++;
            return longitud;
        }
        static int longitudDeArregloEntero(int[] arreglo)
        {
            int longitud = 0;
            foreach (var elemento in arreglo) longitud++;
            return longitud;
        }

        /*
            https://parzibyte.me/blog
        */        static void Main(string[] args)
        {
            // int[] arreglo = { 999, 28, 11, 96, 1, 2, 45, 0, 1 };
            // string[] arreglo = { "Hola", "Mundo" };
            Persona[] arreglo = { new Persona("Luis", 24), new Persona("María", 24) };
            int longitud = longitudDeArreglo(arreglo);
            int longitudConLength = arreglo.Length;
            Console.WriteLine("La longitud según método es {0}, y según .Length es {0}", longitud, longitudConLength);
        }
    }
}

Por aquí te dejo más posts sobre C#.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.