2011-09-16 27 views

Respuesta

43

Si tiene .NET 4, use the string.IsNullOrWhiteSpace method:

if(string.IsNullOrWhiteSpace(myStringValue)) 
{ 
    // ... 
} 

Si usted no tiene .NET 4, y usted puede estar parado para recortar las cuerdas, se puede recortar en primer lugar, a continuación, comprobar si se trata de vacío.

De lo contrario, usted podría mirar en la implementación de usted mismo:

.Net 3.5 Implementation of String.IsNullOrWhitespace with Code Contracts

+0

Creo en las nuevas versiones es 'string.IsNullOrEmpty (YourString)' – sylverfyre

+3

@sylverfyre: No. Son dos métodos diferentes y hacen cosas diferentes. Ver: ['IsNullOrEmpty'] (http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx) vs [' IsNullOrWhiteSpace'] (http://msdn.microsoft.com/en -us/library/system.string.isnullorwhitespace.aspx) –

+5

Esta respuesta es incorrecta, ya que devolverá true si la cadena es nula. – Simon

26

Si ya se sabe a usted que la cadena no es nulo, y lo que desea asegurarse de que no es una cadena en blanco usar el siguiendo:

public static bool IsEmptyOrWhiteSpace(this string value) => 
    value.All(char.IsWhiteSpace); 
+3

Si necesita verificar el valor nulo y rechazarlo, use la invocación nula-condicional y nulo-coalescente: 'value? .All (char.IsWhiteSpace) ?? falso' - o puede emplear menos evaluación de cortocircuito de lujo: 'value! = null && value.All (char.IsWhiteSpace)' – Palec

-1

Intenta utilizar LinQ para resolver?

if(from c in yourString where c != ' ' select c).Count() != 0) 

Esto devolverá verdadero si la cadena no tiene todos los espacios.

+0

Demasiado hablador y de bajo rendimiento para ser útil. Esto siempre itera toda la cadena, incluso después de ver un carácter no espacial. ['Enumerable.All '] (https://msdn.microsoft.com/en-us/library/bb548541 (v = vs.110) .aspx) emplea la evaluación de cortocircuito, consulte [fuente de referencia .NET] (https://referencesource.microsoft.com/#System.Core/System/Linq/Enumerable.cs,be4bfd025bd2724c). – Palec

Cuestiones relacionadas