Format C # short/long / int?
W C / C# / etc. możesz powiedzieć kompilatorowi, że literalna liczba nie jest tym, czym się wydaje (np., float
zamiast double
, unsigned long
zamiast int
:
var d = 1.0; // double
var f = 1.0f; // float
var u = 1UL; // unsigned long
Itd.
Czy ktoś mógłby wskazać mi ich listę? Szukam przyrostka dlashort
lub Int16
. 133
Author: iliketocode, 2011-04-28
5 answers
var d = 1.0d; // double
var d0 = 1.0; // double
var d1 = 1e+3; // double
var d2 = 1e-3; // double
var f = 1.0f; // float
var m = 1.0m; // decimal
var i = 1; // int
var ui = 1U; // uint
var ul = 1UL; // ulong
var l = 1L; // long
Myślę, że to wszystko... nie ma dosłownych specyfikacji dla short/ushort/byte / sbyte 229
Author: Thomas Levesque,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-17 09:55:51
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-17 09:55:51
Z §2.4.4.2 literały całkowite :
Typ liczby całkowitej jest określony w następujący sposób:
- jeśli literał nie ma przyrostka, to ma pierwszy z tych typów, w których jego wartość może być reprezentowana:
int
,uint
,long
,ulong
.- jeśli literał jest zakończony przez
U
lubu
, ma pierwszy z tych typów, w których jego wartość może być reprezentowana:uint
,ulong
.- jeśli literał jest zakończony przez
L
lubl
, ma pierwszy z tych typów, w którym jego wartość może być reprezentowana:long
,ulong
.- jeśli literał jest zakończony przez
UL
,Ul
,uL
,ul
,LU
,Lu
,lU
, lublu
, jest typuulong
.
I od §2.4.4.3 prawdziwe literały :
Jeśli nie podano przyrostka prawdziwego typu, typ prawdziwego literału jest podwójny. W przeciwnym razie sufiks typu rzeczywistego określa typ rzeczywistego literału w następujący sposób:
- a real literalny przyrostek
F
lub {[22] } jest typufloat
. Na przykład literały1f
,1.5f
,1e10f
, i {[27] } są wszystkie typufloat
.- prawdziwy dosłowny przyrostek
D
lubd
jest typudouble
. Na przykład literały1d
,1.5d
,1e10d
, i {[35] } są wszystkie typudouble
.- prawdziwy dosłowny przyrostek
M
lubm
jest typudecimal
. Na przykład literały1m
,1.5m
,1e10m
, i123.456M
są wszystkie typudecimal
. Literal ten jest konwertowany na wartość dziesiętna poprzez przyjęcie dokładnej wartości i, w razie potrzeby, zaokrąglenie do najbliższej reprezentowalnej wartości za pomocą zaokrąglenia bankiera (sekcja 4.1.7). Każda skala widoczna w literale jest zachowana, chyba że wartość jest zaokrąglona lub wartość jest równa zero (w tym ostatnim przypadku znak i skala będą równe 0). Dlatego literał2.900m
będzie parsowany do postaci dziesiętnej ze znakiem0
, współczynnikiem2900
i skalą3
.
35
Author: BoltClock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 15:07:34
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 15:07:34
Jeśli twoja zmienna nie jest jeszcze krótka, musisz ją oddać wprost:
Object s = (Int16) 1;
8
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-14 16:00:07
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-14 16:00:07
Nie ma takiego w skrócie. Wystarczy użyć short s = 1;
.
3
Author: Random832,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 15:07:22
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 15:07:22
Jeśli chcesz uniknąć odlewów typu, które często powodują ostrzeżenia z resharper, short.Parse("1")
może być również alternatywą.
-8
Author: EriF89,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 09:40:10
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 09:40:10