在C#中,整数文字是什么类型的?
我只是注意到,如果我在函数参数中传递一个值,比如1,那么如果它不包含int、long,那么它将起作用,并且我假设其他值。然而,如果我做int i=value,它就不会。我想知道它是什么类型?据我所知,编译器将在编译时使用类型暗示来确定文本的类型。据我所知,编译器将在编译时使用类型暗示来确定文本的类型。类型已确定 如果您有此功能:在C#中,整数文字是什么类型的?,c#,integer,C#,Integer,我只是注意到,如果我在函数参数中传递一个值,比如1,那么如果它不包含int、long,那么它将起作用,并且我假设其他值。然而,如果我做int i=value,它就不会。我想知道它是什么类型?据我所知,编译器将在编译时使用类型暗示来确定文本的类型。据我所知,编译器将在编译时使用类型暗示来确定文本的类型。类型已确定 如果您有此功能: public void SomeFunc( long i ); 你这样称呼它: SomeFunc (1); 然后C#会将此“1”视为一个长字符。类型已确定 (1).
public void SomeFunc( long i );
你这样称呼它:
SomeFunc (1);
然后C#会将此“1”视为一个长字符。类型已确定
(1).GetType().ToString() //is System.Int32
如果您有此功能:
public void SomeFunc( long i );
你这样称呼它:
SomeFunc (1);
然后C#会将这个“1”视为一个长字符。您可以为文本整数添加后缀以使类型显式,否则该值将被隐式解释为目标类型(假设它不会溢出目标)
(1).GetType().ToString() //is System.Int32
您可以为文本整数添加后缀以使类型显式,否则该值将被隐式解释为目标类型(假设它不会溢出目标) 请看一下: 整型文字的类型为 确定如下:
- 如果文本没有后缀,则它具有以下类型中的第一个 其值可以表示为:int、uint、long、ulong
- 如果文字的后缀为U或U,则它具有这些类型中的第一种 其中可以表示其值:uint、ulong
- 如果文字的后缀为L或L,则它具有这些类型中的第一种 其值可以表示为:long,ulong
- 如果文字的后缀为UL、UL、UL、LU、LU、LU或LU,则 属于乌龙型
- 如果文本没有后缀,则它具有以下类型中的第一个 其值可以表示为:int、uint、long、ulong
- 如果文字的后缀为U或U,则它具有这些类型中的第一种 其中可以表示其值:uint、ulong
- 如果文字的后缀为L或L,则它具有这些类型中的第一种 其值可以表示为:long,ulong
- 如果文字的后缀为UL、UL、UL、LU、LU、LU或LU,则 属于乌龙型
默认情况下,整数文本是
int
,但由于存在从int
到long
的隐式转换,因此您仍然可以使用int
调用采用long
的方法 默认情况下,整数文本是int
,但是由于存在从int
到long
的隐式转换,因此您仍然可以调用一个方法,该方法使用int
进行long
你能提供一个代码示例,以及你看到的错误吗?你能提供一个代码示例,以及你看到的错误吗?为了完整性,原始海报可能还需要“L”、“U”和“UL”的示例(可能是:)为完整起见,原始海报可能还需要“L”、“U”和“UL”的示例(也许?:)关于字节后缀,你的“联合国意识”是有根据的;没有;o) 关于字节后缀,你的“联合国意识”是有根据的;没有;o) 爱你的化身(或者更确切地说,爱它所代表的声音)。回答也很好:o)豪猪树太棒了:)爱你的化身(或者更确切地说,爱它所代表的声音)。回答也很好:o)豪猪树太棒了:)