问题标签 [casting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1646 浏览

c# - 在 C# 中,如何在不知道它的类型的情况下向下转换以前向上转换的对象?

我有一个接口方法

它需要将已知的子类型传递ICommand给适当的Handle(SpecificCommand command)方法实现并对未知类型进行一些通用处理。我正在寻找一种通用(即不需要巨型开关)的方法,类似于

我知道我可以以某种方式注册处理程序,例如将它们作为委托存储在字典中,但这仍然需要复制处理逻辑(一次在特定Handle(...)方法签名中,一次在委托请求中)。如果我通过用反射检查我的类(寻找Handle(XXX command)方法)来填充字典,我会受到性能影响。

总结一下:我怎样才能向下转换一个对象(通过调用向上转换Execute(ICommand command))来调用一个需要具体类型的方法,而不知道它在编译时是哪种类型。

0 投票
4 回答
16972 浏览

c++ - How do C/C++ compilers handle type casting between types with different value ranges?

How do type casting happen without loss of data inside the compiler?

For example:

How does the compiler handle this type of typecasting? A low-level example showing the bits would be highly appreciated.

0 投票
3 回答
1509 浏览

c# - c#'bracketed'类型转换的运行时等价物是什么

假设我有一个枚举

然后我可以写

它会起作用。

但是如果我尝试在运行时这样做,比如

它会抛出 InvalidCastException。

那么,有什么我可以在运行时调用的东西,它会从 int32 转换为 enum,就像我在上面写一个演员表一样?

0 投票
4 回答
9867 浏览

c++ - 对 C++ 中的类型双关有何看法?

我对 C++ 中类型双关语指针/数组的约定很好奇。这是我目前的用例:

通过将二进制数据块视为 32 位整数数组(我们知道它的总长度是 4 的倍数),然后对所有值求和并忽略溢出,计算一个简单的 32 位校验和。

我希望这样的函数看起来像这样:

现在我的问题是,您认为转换data为的“最佳”方式是udata什么?

C风格的演员?

假设所有指针都是可转换的 C++ 强制转换?

C++ 在任意指针类型之间使用中间转换void*

通过工会铸造?

我完全意识到这不是一个 100% 可移植的解决方案,但我只希望在我知道它可以工作的一小部分平台上使用它(即未对齐的内存访问和编译器对指针别名的假设)。你会推荐什么?

0 投票
1 回答
3041 浏览

c++ - 如何将 QVariant 转换为自定义类?

我在 QTreeWidgetItem 中有一个 QVariant 对象,如何将其转换为我自己的对象?

0 投票
38 回答
1577075 浏览

python - 如何检查字符串是否为数字(浮点数)?

检查字符串是否可以在 Python 中表示为数字的最佳方法是什么?

我目前拥有的功能是:

这不仅丑陋和缓慢,而且看起来很笨重。但是,我还没有找到更好的方法,因为float()在 main 函数中调用更糟糕。

0 投票
4 回答
411 浏览

c# - 列出泛型和强制转换

我有两个类:媒体和容器。

我有两个列表List<Media>List<Container>

我将这些列表传递给另一个函数(一次一个);

它可以是一个或另一个;

检查列表的“模板”类型的正确方法是什么,以便我可以根据列表类型调用关联方法?

还是我应该尝试投射到 List<> 并在其周围放置 Try/Catch 块?

0 投票
6 回答
50199 浏览

c++ - const_cast 安全吗?

我找不到太多关于const_cast. 我能找到的唯一信息(在 Stack Overflow 上)是:

const_cast<>()用于添加/删除变量的 const(ness)(或 volatile-ness)。

这让我很紧张。可以使用const_cast导致意外行为吗?如果是这样,是什么?

或者,什么时候可以使用const_cast

0 投票
2 回答
10444 浏览

c# - 将null转换为对象?

我今天遇到了这段代码

有什么问题吗?

0 投票
6 回答
42100 浏览

java - Java中ArrayList之间的转换

抱歉,我认为这是一个继承问题:一直是一个 ArrayList 问题!

好的,我的问题比我想象的更具体。所以我有两个班级。卡片和区域。区域是存放卡片的盒子。

Zone 的前两个子类 ZoneList 和 ZoneMap 是存储卡片的两种不同方式。其他子类,例如 Hand 和 PokerHand,有自己特定的方式来处理它们存储的牌。

复杂之处在于 Card 也有子类,例如 PokerCard,而 ZoneList 和 ZoneMap 的子类旨在组织这些子类。

所以在 ZoneList 我有protected ArrayList<Card> cardBox;,在 PokerHand 我希望能够声明cardBox = new ArrayList<PokerCard>();,因为 PokerCard 是一张卡片。我得到的错误是,当涉及到 ArrayLists 时,我显然无法在 Card 和 GangCard 之间进行转换......所以我试图通过private ArrayList<PokerCard> cardBox;在 PokerHand 中重新声明 cardBox 来解决这个问题,但这导致了隐藏的问题我的程序。

所以真的,问题是关于 ArrayLists 之间的转换?Java告诉我我不能,所以有什么想法可以吗?

z。