gpt4 book ai didi

c# - 类型转换会创建新对象吗?

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

我在这里很不确定:

Image i=some image...

Bitmap B=(Bitmap)i;

B 现在指向与 i 相同的对象。我很困惑......我会说位图 B 将指向被转换为位图的图像的新实例,但显然不是这种情况。然后我只是不明白它在这里是如何工作的。

最佳答案

转换不会创建新对象(至少不会,除非 new conversion operators 已被定义,这在非数字类型中并不常见,并且不适用于您的示例)。它只是指示编译器如何“处理”一个对象。在您提供的情况下,您是在告诉编译器“别担心,相信我,B 实际上是一个 Bitmap”。如果结果证明您向它撒谎,运行时将通过在运行时抛出 InvalidCastException 来捕获您。

MSDN有更多信息。

A cast is a way of explicitly informing the compiler that you intend to make the conversion and that you are aware that data loss might occur

关于c# - 类型转换会创建新对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5064534/

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