C#,无法将类型'long'隐式转换为'uint'

贾斯汀808

这怎么了 我在前两行出现错误。

bounds.xMin = (Mathf.FloorToInt (x / GridSize) * GridSize);
bounds.yMin = (Mathf.FloorToInt (y / GridSize) * GridSize);
bounds.xMax = bounds.xMin + GridSize;
bounds.yMax = bounds.yMin + GridSize;

bounds.xMinbounds.yMinxyGridSize都是类型uint

雅库布·洛尔兹(Jakub Lortz)

您的所有变量均为uint,但返回类型Mathf.FloorToIntint

要乘以一个uintint,C#将都转换操作数long,因为它是唯一的整数类型,可以代表所有的可能值。此操作的结果也将为long

您将需要转换的整个结果或至少的结果Mathf.FloorToIntuint

根据C#语言规范:

对于二进制+,–,*,/,%,&,^,|,==,!=,>,<,> =和<=运算符,操作数将转换为T类型,其中T为第一个int,uint,long和ulong的值,它们可以完全表示两个操作数的所有可能值。然后使用类型T的精度执行该操作,结果的类型为T

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当似乎不涉及“ long”类型时,无法将“ long”类型隐式转换为“ int”

与IQueryable方法有关的问题(无法将类型'long?'隐式转换为'long'

可以将`Long`隐式转换为`AnyRef`

无法将时间类型System.TimeSpan隐式转换为“ long”

如何解决错误:无法将类型“long”隐式转换为“bool”?

编译器错误 CS0029:无法隐式转换为 uint

为什么在C ++中将int隐式转换为long long int会给出意外的答案?

将“ uint8_t”(从套接字读取)隐式转换为“ char”是否安全?

为什么Java隐式地(不强制转换)将“ long”转换为“ float”?

无法将类型 *** 隐式转换为 ****

隐式将bigint postgres datatytpe强制转换为Java Long

ARC 不允许将“NSUInteger”(又名“unsigned long”)隐式转换为“id”?

将CType转换为C#时,无法将类型'string'隐式转换为'string []'

C ++ \ CLI-如何将UInt64 ^%转换为unsigned long long *

无法获取arr []的长度:隐式转换失去整数精度:对于strlen(arr),将'unsigned long'转换为'int'

如何将VBA long&HFFFFFFF0转换为uint以便在C#中使用?

c#无法将类型“ double”隐式转换为System.Window.Forms.Textbox

CS0029 C#'无法将类型string []隐式转换为字符串'

C# - 无法将类型“int”隐式转换为“int[][]” - CodeFights

无法将类型'int'隐式转换为'string'c#

无法将类型void隐式转换为字符串C#

错误 2 无法将类型“int”隐式转换为“string”c#

为什么无法从int到Long隐式转换?

无法将类型DbSet <>隐式转换为IQueryable <>

无法将类型“ void”隐式转换为“ x”

无法将类型[具体]隐式转换为[接口]

无法将类型'string'隐式转换为'decimal'

无法将类型'int'隐式转换为'bool'Unity

无法将类型'double'隐式转换为'int'。-错误