gpt4 book ai didi

c# - 双重暗示的目的是什么?

转载 作者:可可西里 更新时间:2023-11-01 08:01:48 24 4
gpt4 key购买 nike

例如:

const decimal dollars = 25.50M;

为什么我们必须添加 M

为什么不这样做:

const decimal dollars = 25.50;

既然它已经说了 decimal,那不是暗示 25.50 是一个小数吗?

最佳答案

没有。

25.50double 类型的独立表达式,而不是 decimal
编译器不会看到您正试图将其分配给 decimal 变量并将其解释为小数。

除了 lambda 表达式、匿名方法和条件运算符外,所有 C# 表达式都具有完全不依赖于上下文的固定类型。

想象一下,如果编译器按照您的意愿运行,并且您调用了 Math.Max(1, 2) 会发生什么。
Math.Max 具有采用 intdoubledecimal 的重载。它会调用哪个?

关于c# - 双重暗示的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866490/

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