gpt4 book ai didi

c# - 如果 c# 是类型安全语言,那么为什么允许使用 dynamic 和 object 关键字更改对象类型?

转载 作者:行者123 更新时间:2023-11-30 14:44:39 25 4
gpt4 key购买 nike

为什么在 C# 中允许这样做?

dynamic abc = 123;
abc = 'ashwin';

我们在运行时更改对象的类型,但我们知道 C# 是类型安全的,那么为什么它允许我们这样做呢?

看看编译器输出:

Take a look at compiler output

最佳答案

简单地说,因为 C# 要求您明确地说“我知道以下操作将不同类型的值视为相同,请继续”。编译器不允许您“意外地”统一对待不同的类型,您必须明确指定这一点——要么使用(通用)父类(super class),例如 object,要么使用 dynamic 关键字将类型检查推迟到运行时。

关于c# - 如果 c# 是类型安全语言,那么为什么允许使用 dynamic 和 object 关键字更改对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58912948/

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