Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
Cómo saber si la lista está llena

He creado una List con tamaño fijo

 private List<ushort> responseData = new List<ushort>(7);

Los elementos se agregan en un observable reactivo, pero me gustaría saber si está lleno en cada suscripción.

Actualmente está comprobado por

 if (responseData.Count == 7)

Dado que el tamaño de los datos de respuesta será dinámico, no usaré el 7 estático tanto en la inicialización de List como en la verificación de si está llena. Sin embargo, me preguntaba si ya configuré el tamaño de los datos de respuesta; ¿No puede verificar sin usar la referencia de tamaño nuevamente?

Valoro mucho cualquier respuesta.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si entiendo correctamente, ¿podría estar pensando en la propiedad List<T>.Capacity ?

Cuando inicializa una lista, puede especificar la capacidad interna que indica la cantidad de elementos que se pueden agregar a una lista antes de que sea necesario cambiar el tamaño. El valor predeterminado es 4 para la capacidad de la lista [ solía ser, necesita confirmación de que todavía lo es ].

Entonces, si crea una nueva lista como tal:

 var myList = new List<int>(100);

Puede crear un método de extensión que agregue y verifique por usted:

 public static class ListExtension { public static bool Add<T> ( this List<T> list, T item, out bool isFull ) { isFull = false; if ( list.Count == list.Capacity ) { isFull = true; return false; } list.Add ( item ); isFull = list.Count == list.Capacity; return true; } }

Ahora, esto se indica en los documentos de Microsoft:

La capacidad siempre es mayor o igual que Count. Si Count excede la capacidad mientras se agregan elementos, la capacidad aumenta al reasignar automáticamente el arreglo interno antes de copiar los elementos antiguos y agregar elementos nuevos.

Por lo tanto, el método de extensión solo debería permitirle agregar elementos hasta la Capacity inicial y no más. Cuando se usa así, var success = myList.Add(item, out var isFull) , isFull indicará si la lista está llena. El valor de retorno indicará si la operación fue exitosa.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda