gpt4 book ai didi

c# - C#中整数相减时错误 "Can' t implicitly convert int to short"

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:57 25 4
gpt4 key购买 nike

我是 C# 的新手,很抱歉问了这个可能很愚蠢的问题。但是,我找不到答案。为什么在减去整数时会出现以下错误?

        Console.WriteLine(num2.GetType()); // System.Int16
Console.WriteLine(num1.GetType()); // System.Int16
num2 = num1 - num2;

“num1 - num2”出现红色下划线,并显示“无法将 int 隐式转换为 short”

这里有什么问题?

最佳答案

如果你在没有错误行的情况下向你的代码添加额外的行,它会变得更清楚

short num1 = 2;
short num2 = 4;
Console.WriteLine(num2.GetType()); // System.Int16
Console.WriteLine(num1.GetType()); // System.Int16
Console.WriteLine( (num1 - num2).GetType()); // System.Int32

如您所见,从另一个 Int16 中减去一个 Int16 实际上得到一个 Int32。您不能将结果分配(没有显式转换)返回给 num2,因为它被定义为 Int16。

如果您真的想分配回 num2,请使用显式转换解决它

num2 = (short)(num1-num2);

关于c# - C#中整数相减时错误 "Can' t implicitly convert int to short",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54578332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com