2011-11-16 17 views
6

Estoy tratando de tener una mano corta para una declaración if ya que estoy construyendo una consulta de expresión y si la prueba es nula, el descriptor de acceso produce un error.Mano corta Si declaración sin otra cosa

test != null ? test.Contains("mystring") : NO_VLAUE 

Busco:

test != null ? test.Contains("mystring") 

otherwise ignore. 

Sé que puedo usar un ?? para is null pero ¿hay una inversa.

Gracias de antemano.

+0

Cadena vacía tal vez? –

Respuesta

8

Parece que usted quiere test != null && test.Contains("mystring")

Su pregunta, tal como solicitó que no tiene sentido. Todas las expresiones, incluido el operador condicional, deben tener un valor. ¿Qué esperarías que evaluara esa expresión si test es nulo?

Probablemente quiera que sea falso si la prueba es nula.
En otras palabras, desea que sea verdadero si la prueba no es nula y contiene mystring.

7

Parece que usted podría falta:

test != null && test.Contains("mystring") 

que evaluará a false si test es nulo - es eso lo que quieres? Básicamente debe decir lo que quiere que suceda si testes nulo, de lo contrario no se puede usar como una expresión.

Cuestiones relacionadas