在C#中,整数文字是什么类型的?

在C#中,整数文字是什么类型的?,c#,integer,C#,Integer,我只是注意到,如果我在函数参数中传递一个值,比如1,那么如果它不包含int、long,那么它将起作用,并且我假设其他值。然而,如果我做int i=value,它就不会。我想知道它是什么类型?据我所知,编译器将在编译时使用类型暗示来确定文本的类型。据我所知,编译器将在编译时使用类型暗示来确定文本的类型。类型已确定 如果您有此功能: public void SomeFunc( long i ); 你这样称呼它: SomeFunc (1); 然后C#会将此“1”视为一个长字符。类型已确定 (1).

我只是注意到,如果我在函数参数中传递一个值,比如1,那么如果它不包含int、long,那么它将起作用,并且我假设其他值。然而,如果我做int i=value,它就不会。我想知道它是什么类型?

据我所知,编译器将在编译时使用类型暗示来确定文本的类型。

据我所知,编译器将在编译时使用类型暗示来确定文本的类型。

类型已确定

如果您有此功能:

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)豪猪树太棒了:)