new - features c#
¿Qué significa "T" en C#? (7)
Es un símbolo para un parámetro de tipo genérico . Podría ser otra cosa, por ejemplo:
public class SomeBase<GenericThingy> where GenericThingy : SomeBase<GenericThingy>, new()
Solo T es el predeterminado usado y alentado por Microsoft.
Tengo un fondo VB y me estoy convirtiendo a C # para mi nuevo trabajo. También estoy tratando de mejorar en .NET en general. He visto que la palabra clave "T" se usa mucho en las muestras que las personas publican. ¿Qué significa "T" en C #? Por ejemplo:
public class SomeBase<T> where T : SomeBase<T>, new()
¿Qué hace T
? ¿Por qué querría usarlo?
Eso sería un "Genérico". Como ya se ha mencionado, hay una explicación de Microsoft del concepto. En cuanto a por qué la "T" - vea esta pregunta .
En pocas palabras, le permite crear una clase / método que se especializa en un tipo específico. Un ejemplo clásico es la clase System.Collections.Generic.List<T>
. Es lo mismo que System.Collections.ArrayList
, excepto que le permite almacenar solo elementos de tipo T
Esto proporciona seguridad de tipo: no puede (accidentalmente o de otra manera) poner elementos del tipo incorrecto en su lista. El espacio de nombres System.Collections.Generic
contiene varios otros tipos de colecciones diferentes que hacen uso de esto.
En cuanto a dónde podrías usarlo, eso depende de ti. Hay muchos casos de uso que surgen de vez en cuando. En su mayoría, se trata de una especie de colección hecha por uno mismo (cuando las integradas no son suficientes), pero realmente podría ser cualquier cosa.
La T
es el nombre para el parámetro de tipo en una clase genérica. Significa "Tipo", pero también podrías llamarlo "Alicia".
Utiliza genéricos para aumentar la capacidad de reutilización de una manera segura sin necesidad de duplicar el código. Por lo tanto, no necesita escribir clases para ListOfIntegers
, ListOfStrings
, ListOfIntegers
, ListOfStrings
, ListOfChars
, sino que puede escribir una clase genérica List<T>
y luego crear instancias de objetos de los tipos List<Int32>
, List<string>
, List<char>
y List<Person>
. El compilador hace el trabajo por ti.
La mejor manera sería familiarizarse con "Generics", muchos recursos en la web, aquí hay uno
T no es una palabra clave sino un nombre, podría ser cualquier cosa que yo sepa, pero T es la convención (cuando solo se necesita un tipo de coro)
Significa "cualquier clase". Podría ser "B", "A", lo que sea. Creo que T se usa debido a "Plantilla"
T no es una palabra clave per-se, sino un marcador de posición para un tipo genérico. Vea la introducción de Microsoft a los genéricos
La sintaxis VB.Net equivalente sería:
Public Class SomeBase(Of T As {Class, New}))
Un buen ejemplo de otro nombre utilizado en lugar de T would
las clases de tabla hash, por ejemplo
public class Dictionary<K,V> ...
Donde K
representa Key y V
por valor. Creo que T
significa tipo.
Es posible que haya visto esto alrededor. Si puedes hacer la conexión, debería ser bastante útil.