not isnullorwhitespace empty check array c# arrays

isnullorwhitespace - isnullorempty int c#



IsNullOrEmpty equivalente para Array? do# (7)

Con Null-conditional Operator presentado en VS 2015, el opuesto Is Not NullOrEmpty puede ser:

if (array?.Length > 0) { // similar to if (array != null && array.Length > 0) {

pero la versión de IsNullOrEmpty ve un poco fea debido a la precedencia del operador:

if (!(array?.Length > 0)) {

¿Hay una función en la biblioteca .NET que devolverá verdadero o falso en cuanto a si una matriz es nula o está vacía? (Similar a string.IsNullOrEmpty).

Eché un vistazo en la clase Array para una función como esta pero no pude ver nada.

es decir

var a = new string[]{}; string[] b = null; var c = new string[]{"hello"}; IsNullOrEmpty(a); //returns true IsNullOrEmpty(b); //returns true IsNullOrEmpty(c); //returns false


En caso de que inicialices tu matriz como

string[] myEmpytArray = new string[4];

Luego, para verificar si los elementos de su matriz están vacíos, use

myEmpytArray .All(item => item == null)

Tratar

public static bool IsNullOrEmpty<T> (this ICollection<T> collection) { if (collection == null || collection.Count == 0) return true; else return collection.All(item => item == null); }


Más genérico si usa ICollection<T> :

public static bool IsNullOrEmpty<T> (this ICollection<T> collection) { return collection == null || collection.Count == 0; }


No existe uno, pero podrías usar este método de extensión:

/// <summary>Indicates whether the specified array is null or has a length of zero.</summary> /// <param name="array">The array to test.</param> /// <returns>true if the array parameter is null or has a length of zero; otherwise, false.</returns> public static bool IsNullOrEmpty(this Array array) { return (array == null || array.Length == 0); }

Simplemente coloque esto en una clase de extensiones en algún lugar y ampliará Array para tener un método IsNullOrEmpty .


No, pero puede escribirlo usted mismo como un método de extensión. O un método estático en su propia biblioteca, si no le gusta llamar a métodos en un tipo nulo.


Puede crear su propio método de extensión:

public static bool IsNullOrEmpty<T>(this T[] array) { return array == null || array.Length == 0; }


También puedes usar Any para crear tu método de extensión:

public static bool IsNullOrEmpty<T>(this T[] array) where T : class { return (array == null || !array.Any()); }

No olvides agregar using System.Linq; en sus declaraciones de uso.