remarks generate example c# numeric

generate - C#- Sufijos Numéricos



params comments c# (4)

Posible duplicado:
Sufijo de declaración para tipo decimal

Hola a todos,

En el siguiente fragmento de código; RewardValue es un decimal:

dto.RewardValue = 1.5;

Ahora, esto me da el siguiente error:

"No se puede convertir el tipo de origen doble al tipo de destino decimal"

Tiene sentido, y se puede arreglar fácilmente cambiando esa línea de código a esto:

dto.RewardValue = 1.5m;

Ahora, la "m" convierte eso a un decimal y todo está bien.

¿Alguien sabe de algún lugar donde pueda encontrar una lista de todos esos operadores tipo "m"? (y si pudiera hacerme saber cuál es el término apropiado para esos, sería muy apreciado)

EDITAR: Gracias a HCL y MartyIX por hacerme saber que estos se conocen como "sufijos"


Creo que el término que estás buscando es "sufijo".

Ejemplos:

1; // int 1.0; // double 1.0f; // float 1.0m; // decimal 1u; // uint 1L; // long 1UL; // ulong



Es una lista bastante pequeña, de verdad.

F: float D: double U: uint L: long UL: ulong M: decimal

Por supuesto, un valor integral simple en sí mismo se interpreta como un int , a menos que sea demasiado grande para ser un int en cuyo caso es un long , a menos que sea demasiado grande para un long en cuyo caso es un ulong . Si es demasiado grande para un ulong , no puedes usarlo como un literal (por lo que sé).

Un valor con un punto decimal se interpreta automáticamente (como lo descubrió usted mismo) como un double .


http://dotnetperls.com/suffix-examples - lo llaman simplemente numeric suffixes ( http://msdn.microsoft.com/en-us/library/b1e65aza(VS.71).aspx - también el sufijo aquí)

Tipo de sufijo: unsigned int

Personaje: U

Ejemplo: uint x = 100U;

Tipo de sufijo: largo

Personaje: L

Ejemplo: largo x = 100L;

Tipo de sufijo: sin firma larga

Personaje: UL

Ejemplo: ulong x = 100UL;

Tipo de sufijo: flotador

Personaje: F

Ejemplo: float x = 100F;

Tipo de sufijo: doble

Personaje: D

Ejemplo: doble x = 100D;

Tipo de sufijo: decimal

Personaje: M

Ejemplo: decimal x = 100M;