gpt4 book ai didi

c# - 为什么 "var"关键字设置为某种类型?

转载 作者:行者123 更新时间:2023-11-30 13:17:15 25 4
gpt4 key购买 nike

为什么 var a = 7; 会将 a 类型设置为特定类型(即 int 而不是 byte)? C# 编译器是否即时制定了任何规则/默认值/检查?

最佳答案

不清楚您所说的“即时”是什么意思 - 但 C# 编译器只是遵循规范中规定的规则。对于此类声明:

var a = expression;

a 的类型是expression 的类型。表达式 7 的类型为 int,虽然它已知是 byte 范围内的常量,允许:

byte a = 7;

编译。 可用性 byte 的转换不会改变表达式 7 的类型,所以 int 是C# 编译器对 a 的类型使用什么。

请注意,我建议不要对这样的常量使用 var。它最终得到的代码可能会围绕 intuintlong 等的边界变得非常困惑。var旨在帮助匿名类型,也有助于使代码更具可读性。当它使代码不太可读时,就不要使用它。

关于c# - 为什么 "var"关键字设置为某种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12415971/

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