¿Cuál es el equivalente en VB para C#' C# s default(T)
VB equivalente para 'default s (t)
Respuesta
Es alguna de estas:
Dim variable As T
Dim variable As T = Nothing
Dim variable As New T()
Dim variable As T = CType(Nothing, T) 'this is suggested by reflector
Asignación Nothing
caso de los tipos de valor está perfectamente bien en VB.NET. Y lo último solo es posible si especifica New
o Structure
restricción para el tipo genérico.
El equivalente más cercano a default(T)
es realmente CType(Nothing, T)
ya que se puede usar en cualquier contexto que se use default(T)
(es decir, como una expresión).
No funciona para el caso 'If Not id = CType (Nothing, TId) Then ...' –
Eso es igualdad de valor. Creo que quieres 'If Not id is nothing then ...'. En este contexto, no necesita lanzar el valor Nothing. – panopticoncentral
MyStructInstance.Equals (ctype (nothing, TypeOfMyStruct)) funciona. '=' no – FastAl
- 1. Palabra clave VB equivalente para 'break'
- 2. EqualityComparer <T> .Default vs. T.Equals
- 3. ¿Cuál es el C++/CLI equivalente a C# 's por defecto (T)?
- 4. Fusionando dos IEnumerable <T> s
- 5. Equivalente al formato de VB en C#
- 6. C# Equivalente de VB 6 DoEvents
- 7. ¿Hay un equivalente de jsFiddle para ASP.NET/VB?
- 8. CentOS equivalente a dpkg -s
- 9. Python equivalente a "php -s"
- 10. Enumerable.Empty <T>() equivalente para IQueryable
- 11. Dada la cadena s, encuentre la cadena t más corta, de modo que, t^m = s
- 12. ¿Cómo funciona "while (* s ++ = * t ++)" para copiar una cadena?
- 13. equivalente Java a C# 's @ símbolo para escapar \
- 14. ¿Existe un JavaSet keySet() equivalente para C++ 's std :: map?
- 15. ¿Por qué s ++ t no lleva a un desbordamiento de pila para s grande?
- 16. C# 's equivalente de archivos jar?
- 17. C# 's palabra clave predeterminada equivalente en C++?
- 18. equivalente Java a C# 's TimeSpan
- 19. Ruby's equivalente a C# 's ?? operador
- 20. .Net equivalente de la antigua función vb left (string, length)?
- 21. No se puede comparar T value1 con T value2 = default (T). ¿Por qué y cómo hacerlo en C#?
- 22. C++ estándar: default "const T & valor" en el constructor del vector para el tipo 'int'
- 23. C#/.NET equivalente para Java Collections. <T> emptyList()?
- 24. Acción <T> equivalente para las propiedades
- 25. VB .NET vs. VB 2010
- 26. Entity Framework T-Sql "having" Equivalente
- 27. Comparaciones de claves para Linq GroupBy usando Default EqualityComparer
- 28. ¿Por qué preferences.getString ("clave", "DEFAULT") siempre devuelve "DEFAULT"?
- 29. jQuery para Cmd + s y Ctrl + s
- 30. TSQL Default Minimum DateTime
reflector sugiere el uso de los siguientes (pero equivalente) de línea: variables Dim como T = CType (Nada, T) –
1 en Dim variable como T = Nada – Pondidum
Si alguien desea confirmar las versiones aquí, me dio una palmada en conjunto [ algún código en GitHub] (https://github.com/patridge/VB-default-tests) para confirmar que los resultados son idénticos para las versiones correctas. Es una aplicación de consola simplificada con un montón de llamadas 'Debug.Assert'. Solo toma y F5 para correr. – patridge