2011-11-22 15 views

Odpowiedz

110
if (string.IsNullOrEmpty(myString)) { 
    // 
} 
+1

gdy używam 'IsEmpty' jest napisane: ''string' nie zawiera definicji IsEmpty', czy mogę użyć' IsEmpty' w [msdn] (https://msdn.microsoft.com/en-us/library/system.web.webpages.stringextensions .isempty% 28v = vs.99% 29.aspx) czy powinienem użyć 'IsNullOrEmpty'? – stom

+2

Bardzo prosty i użyteczny. Szkoda, że ​​PHP nie może mieć czegoś takiego. –

+3

@Lion Liu: Właściwie uważam, że PHP ma dokładnie tyle do zaoferowania. Zobacz: http://php.net/manual/en/function.empty.php – Milan

6

jeśli zmienna jest ciągiem

bool result = string.IsNullOrEmpty(variableToTest); 

jeśli masz tylko obiekt, który może lub nie może zawierać ciąg następnie

bool result = string.IsNullOrEmpty(variableToTest as string); 
+1

Miałem ten sam problem, a drugi nie działa poprawnie. Spróbuj tego: obiekt x = 3; bool result = string.IsNullOrEmpty (x jako ciąg); "x as string" będzie puste, więc wynik jest prawdziwy, mimo że x ma wartość inną niż null lub pusty ciąg. Nie znalazłem krótkiego rozwiązania, skorzystałem z podwójnej kontroli. –

+0

@ MártonMolnár to musiałby zawierać ciąg 3 nie jest ciągiem więc spodziewamy się użyć "3" zamiast –

1

Cheap Trick:

Convert.ToString((object)stringVar) == “” 

Działa to, ponieważ Convert.ToString (obiekt) zwraca pusty łańcuch, jeśli obiekt ma wartość NULL. Convert.ToString (string) zwraca null, jeśli ciąg ma wartość null.

(Lub, jeśli używasz .NET 2.0 można zawsze używając string.IsNullOrEmpty.)

+4

Chociaż technicznie poprawne, mogę kategorycznie powiedzieć, że nigdy nie widziałem tej metody. –

+0

dlaczego? ........... – Liam

+0

Czy przyjąć założenie, że ta zamiana stringVar na obiekt rzutowania zwraca pusty łańcuch zarówno dla pustego, jak i pustego łańcucha przypisanego do zmiennej stringVar, ale przekształca tę samą wartość stringVar bez cast zamiast tego zwraca pusty łańcuch? Próbuję tylko znaleźć wszystkie wariacje ... – Stokely

28

Od .NET 2.0 można użyć:

// Indicates whether the specified string is null or an Empty string. 
string.IsNullOrEmpty(string value); 

Dodatkowo, ponieważ .NET 4.0 jest nowa metoda, która idzie trochę dalej:

// Indicates whether a specified string is null, empty, or consists only of white-space characters. 
string.IsNullOrWhiteSpace(string value); 
1
if (string.IsNullOrEmpty(myString)) 
{ 
    . . . 
    . . . 
} 
Powiązane problemy