无法在 C# 中声明任何带符号的整数类型
Cannot declare any signed Integer types in C#
我在 Visual Studio 2019 年开发一个 ASP.NET 应用程序。我 运行 遇到了一个我以前从未遇到过的 C# 问题。我似乎无法声明除 UInt64 以外的任何整数类型。
尝试声明 Int64 或 long 时出错,因为它说我正在尝试将 UInt64(或 ulong)转换为其中一种类型。
具体错误如下(显示的Azure租户id是虚拟值,不要惊慌):
行
Int64 tenantInt = 11132432026456784806;
给出如下错误
Error CS0266 Cannot implicitly convert type 'ulong' to 'long'. An explicit conversion exists (are you missing a cast?)
然后是下面这行代码
long TenantID = -11132432026456784806;
给出如下错误
Error CS0023 Operator '-' cannot be applied to operand of type 'ulong'
这是一张完全相同的错误图片:
HERE
我以前在 C# 中工作时从未遇到过这种情况。通常这些声明工作正常。 Visual Studio有什么问题吗?它一直将数字读取为 UInt64,并尝试使用 (Int64) 或 (long) 转换它们时遇到另一个错误,即 UInt64(或 ulong)无法转换为这些类型。
你必须使用“ulong”因为支持18.446.744.073.709.551.615。
Kalten 是正确的。我尝试分配的数字对于 Int64 来说太大了而且太长了。本质上,我得到这个 API 的人故意把数字弄得太大,所以这条线会抛出一个错误,所以我会看到这条线并意识到我需要用我自己的 ID 替换它。
我在 Visual Studio 2019 年开发一个 ASP.NET 应用程序。我 运行 遇到了一个我以前从未遇到过的 C# 问题。我似乎无法声明除 UInt64 以外的任何整数类型。
尝试声明 Int64 或 long 时出错,因为它说我正在尝试将 UInt64(或 ulong)转换为其中一种类型。
具体错误如下(显示的Azure租户id是虚拟值,不要惊慌):
行
Int64 tenantInt = 11132432026456784806;
给出如下错误
Error CS0266 Cannot implicitly convert type 'ulong' to 'long'. An explicit conversion exists (are you missing a cast?)
然后是下面这行代码
long TenantID = -11132432026456784806;
给出如下错误
Error CS0023 Operator '-' cannot be applied to operand of type 'ulong'
这是一张完全相同的错误图片: HERE
我以前在 C# 中工作时从未遇到过这种情况。通常这些声明工作正常。 Visual Studio有什么问题吗?它一直将数字读取为 UInt64,并尝试使用 (Int64) 或 (long) 转换它们时遇到另一个错误,即 UInt64(或 ulong)无法转换为这些类型。
你必须使用“ulong”因为支持18.446.744.073.709.551.615。
Kalten 是正确的。我尝试分配的数字对于 Int64 来说太大了而且太长了。本质上,我得到这个 API 的人故意把数字弄得太大,所以这条线会抛出一个错误,所以我会看到这条线并意识到我需要用我自己的 ID 替换它。