not isnullorwhitespace empty check c# asp.net-mvc

isnullorwhitespace - isnullorempty int c#



¿Por qué no hay un método Guid.IsNullOrEmpty()? (4)

Aquí hay un método de extensión simple para un Guid con nulos.

/// <summary> /// Determines if a nullable Guid (Guid?) is null or Guid.Empty /// </summary> public static bool IsNullOrEmpty(this Guid? guid) { return (!guid.HasValue || guid.Value == Guid.Empty); }

ACTUALIZAR

Si realmente quisiera usar esto en todos lados, podría escribir otro método de extensión para un Guid regular. Nunca puede ser nulo, por lo que a algunas personas no les gustará esto ... pero cumple con el propósito que está buscando y no tiene que saber si está trabajando con Guid. o Guid (bueno para volver a factorizar, etc.).

/// <summary> /// Determines if Guid is Guid.Empty /// </summary> public static bool IsNullOrEmpty(this Guid guid) { return (guid == Guid.Empty); }

Ahora podría usar someGuid.IsNullOrEmpty(); en todos los casos, ya sea que esté usando Guid o Guid ?.

Como dije, algunas personas se quejarán de la denominación porque IsNullOrEmpty() implica que el valor podría ser nulo (cuando no puede). Si realmente lo desea, IsNothing() un nombre diferente para las extensiones como IsNothing() o IsInsignificant() o lo que sea :)

Esto me mantiene preguntándome por qué Guid en .NET no tiene el método IsNullOrEmpty() (donde vacío significa todos los ceros)

Necesito esto en varios lugares de mi código ASP.NET MVC al escribir la API REST.

¿O me estoy perdiendo algo porque nadie en Internet me ha pedido lo mismo?


Por un lado, Guid no es nulo. Usted podría verificar:

myGuid == default(Guid)

que es equivalente a:

myGuid == Guid.Empty


Puede hacer un método de extensión a Guid para agregar funcionalidad IsEmpty:

public static class GuidEx { public static bool IsEmpty(this Guid guid) { return guid == Guid.Empty; } } public class MyClass { public void Foo() { Guid g; bool b; b = g.IsEmpty(); // true g = Guid.NewGuid(); b = g.IsEmpty; // false b = Guid.Empty.IsEmpty(); // true } }


Guid es un tipo de valor , por lo que una variable de tipo Guid no puede ser nula para empezar. Si quieres saber si es el mismo que el guid vacío, puedes usar:

if (guid == Guid.Empty)