Soy consciente de que puedo fijar nula comoCómo establecer el valor de cadena como nula
string val = null;
Pero me pregunto las otras maneras en que puedo establecen a NULL. ¿Hay una función como String.null
que pueda usar?
Soy consciente de que puedo fijar nula comoCómo establecer el valor de cadena como nula
string val = null;
Pero me pregunto las otras maneras en que puedo establecen a NULL. ¿Hay una función como String.null
que pueda usar?
Creo que busca ahora String.Empty
string val = String.Empty;
Actualización: TheFuzzyGiggler comentarios son dignos de mención:
Es mucho mejor establecer un
string
enempty
en lugar denull
. Para evitar excepciones después. Si tiene que leer y escribir muchas cadenas , tendránull
excepciones de valor en todas partes. O usted tiene una tonelada deif(!string.isNullorEmpty(string))
el que conseguir molesto
¡Pásame! Si OP lee esto ...Descubrí que es MUCHO mejor configurar una cadena como vacía que como nula. Para evitar excepciones más adelante. Si tiene que leer y escribir muchas cadenas, tendrá excepciones de valor nulo en todo el lugar. O tendrás toneladas de if (! String.isNullorEmpty (string)) que se vuelven molestas. – TheFuzzyGiggler
+1 Su explicación merece una respuesta por separado ... –
Gracias por los puntales. Me alegro de poder ayudar. Dejaré que Asif se lleve la gloria del representante. =) – TheFuzzyGiggler
null
no es un valor de cadena especial (hay String.Empty
para ""
), pero es un literal de objeto general para la referencia vacía.
También puede usar la palabra clave predeterminada.
string val = default(string);
Aquí es otra cuestión SO relación con la palabra clave por defecto: What is the use of `default` keyword in C#?
... que es lo mismo que 'string val = (string) null;', es decir, una referencia nula tipada. – Wormbo
@Wormbo - correcto. Sin embargo, lo bueno de usar 'default' es que funciona con ambos tipos de valores y tipos de referencia. –
Dependiendo de la aplicación se puede utilizar string.Empty
. Siempre estoy receloso de inicializarme al null
ya que el recolector de basura es genial, pero no perfecto, y podría marcar su cadena para recolección de basura si se usa de alguna manera que el recolector de basura no puede detectar (aunque es poco probable).
Obviamente una forma más de establecer algo en nulo es asignar resultado de la función que devuelve un valor nulo:
string SomeFunctionThatReturnsNullString() {return null;}
string val = SomeFunctionThatReturnsNullString();
asignarlo a este valor hará que sea un nulo, (eligió el tipo de datos SQL bien, aquí su doble)
System.Data.SqlTypes.SqlDouble.Null
¿Por qué necesitarías otra forma de hacerlo? – Charleh
por qué harían string val = String.null ser mejor ... los null tienen muy poco que ver con las cadenas –
¿Quiere decir un 'static void StringUtils.SetNull (out string s)' que establece 's' en' null'? Eso sería otro en mi humilde opinión. ¿Qué pasa con la asignación? –