Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!