Cosa significa M nella notazione letterale C # decimale?

Per lavorare con i tipi di dati decimali, devo farlo con l’inizializzazione delle variabili:

decimal aValue = 50.0M; 

Cosa significa la parte M?

Significa che è un valore letterale decimale, come altri hanno già detto. Tuttavia, le origini probabilmente non sono quelle suggerite altrove in questa risposta. Da C # Annotated Standard (la versione ECMA, non la versione MS):

Il suffisso decimal è M / m poiché D / d è già stato preso da double . Sebbene sia stato suggerito che M sta per soldi, Peter Golde ricorda che M è stato scelto semplicemente come la migliore lettera successiva in decimal .

Un’annotazione simile menziona che le prime versioni di C # includevano “Y” e “S” rispettivamente per byte e letterali short . Sono stati lasciati cadere per non essere utili molto spesso.

M significa decimale. Se non lo aggiungi, il numero verrà considerato doppio. D è doppio

Un vero letterale suffisso da M om è di tipo decimale. Ad esempio, i valori letterali 1m, 1.5m, 1e10m e 123.456M sono tutti di tipo decimale. Questo valore letterale viene convertito in un valore decimale prendendo il valore esatto e, se necessario, arrotondando al valore rappresentativo più vicino utilizzando l’arrotondamento del banco. Qualsiasi scala apparente nel letterale viene conservata a meno che il valore non sia arrotondato o il valore sia zero (in quest’ultimo caso il segno e la scala saranno 0). Quindi, il valore letterale 2.900m verrà analizzato per formare il decimale con il segno 0, il coefficiente 2900 e la scala 3.

Riferimento: https://msdn.microsoft.com/en-us/library/aa691085.aspx

Probabilmente sta per soldi.