问题标签 [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.
c# - 空字面问题
我有一个转发器,只有当它存在时才应该显示绑定的字段值。阅读了这篇文章后,我决定在我的转发器中使用文字并使用 OnItemDatabound 触发器填充我的文字,但我的文字似乎无法从后面的 c# 代码访问,我不明白为什么!
这是aspx页面
以及背后的代码
c# - 为什么 C# 编译器不调用隐式强制转换运算符?
假设我们有以下类型:
并尝试编译以下代码片段:
这剪辑编译得很好,没有错误。i1 和 i2 转换为整数并评估加法。
但是如果我们有以下类型:
尝试编译另一个代码片段:
现在的问题是,为什么编译器会生成“错误 CS0019:运算符 '+' 不能应用于 'MyNullable<Money>' 和 'MyNullable<Money>' 类型的操作数”?
asp.net - ASP.NET 中的转换错误
我在 App_Code 文件夹中声明了一个类。该类包含一个返回类型 Portfolio 的公共共享方法。
当我尝试调用此方法以在其中一个 ASCX 控件中初始化 Portfolio 类型的对象时,我收到“无法将 Jaguar.Portfolio 类型的值转换为 Jaguar.Portfolio”消息。
这是一个“网站”项目。我尝试使用 CType 和 DirectCast,但在尝试构建站点时仍然遇到相同的编译错误。
我在 ascx 控件的代码隐藏文件中使用下面列出的代码行
java - 将对象数组转换为我想要的类的数组
只是为了审查,有人可以快速解释是什么阻止了它的工作(编译时):
...以及是什么使它成为有效的方式:
我不清楚与铸造(或其他任何东西)一起工作的机制是什么。
java - Java 编译器如何解析类型转换?
一个简单的表达式,如
根据是否x
是类型名称,解释不同。如果x
不是类型名称,(x) - y
只需y
从x
. 但是 ifx
是一个类型名称,(x) - y
计算负数y
并将结果值转换为 type x
。
在典型的 C 或 C++ 编译器中,是否x
是类型的问题是可以回答的,因为解析器在处理 typedef 或 struct 声明后立即将此类信息传达给词法分析器。(我认为这种要求违反级别是 C 设计中最讨厌的部分。)
但是在 Java 中,x
可能要到源代码的后面才能定义。Java 编译器如何消除这种表达式的歧义?
很明显,Java 编译器需要多次传递,因为 Java 不需要在使用前声明。但这似乎意味着第一遍必须在解析表达式上做一个非常草率的工作,然后在后面的一遍中做另一个更准确的表达式解析。这似乎很浪费。
有没有更好的办法?
java - Java 中的“动态”转换
大家好,
想知道是否有任何 Java 黑客可以告诉我为什么以下方法不起作用:
代码很高兴编译,但决定在运行时抛出 ClassCastException D=
编辑:哇,真的很快回复。多谢你们!所以看来我不能使用这种方法进行向下转换......还有其他方法可以在 Java 中进行向下转换吗?我确实考虑过让每个ChildN
类都覆盖copy()
,但并不热衷于添加额外的样板代码。
c++ - 从“OLE_HANDLE”转换为“HICON”的正确方法是什么?
对于 x64 目标构建,从“OLE_HANDLE”转换为“HICON”的正确方法是什么?
特别是对于普通的 C 样式转换,我在使用 x64 配置编译时收到此警告:
警告 C4312:“类型转换”:从“OLE_HANDLE”转换为更大尺寸的“HICON”
这是有问题的代码:
上面的代码对我来说很好,但我想在为 x64 构建时摆脱警告。
c# - 将字符转换为无符号短片:幕后发生了什么?
给定这个字段:
而这个声明:
幕后会发生什么?
lookup_ext[1669] 返回 67 = 0100 0011 (C),lookup_ext[1670] 返回 78 = 0100 1110 (N),lookup_ext[1671] 返回 68 = 0100 0100 (D);然而 slt[1670] 返回 18273 = 0100 0111 0110 0001。
我正在尝试将它移植到 C#,所以除了一个简单的方法之外,我还想知道这里到底发生了什么。自从我经常使用 C++ 以来已经有一段时间了。
谢谢!
python - 解压到未知数量的变量?
我怎样才能将一个未知的元组解包到一个列表中?
我有许多数据列,它们被某些函数分成一个元组。我想将此元组解压缩为变量,但我不知道我将拥有多少列。有没有办法将它动态解包到我需要的尽可能多的变量中?
c# - C# - 泛型和继承问题
我遇到了继承和泛型的问题。这是说明我的问题的代码:
当我尝试做这样的事情时:
我收到强制转换异常:无效的强制转换异常。无法将“TestApplication.MyClass`1[System.Int32]”转换为“TestApplication.MyIntClass”。
更重要的是,我无法创建强制转换运算符:
因为:'TestApplication.MyIntClass.implicit operator TestApplication.MyIntClass(TestApplication.MyClass)':不允许用户定义的与基类之间的转换
我需要如上所述创建演员表。我不知道为什么我不能从基类类型转换。我怎么解决这个问题?提前致谢。
编辑
感谢您的回答。现在我看到我无法从基类转换为派生类,并且我看到它与泛型没有任何关系。但是为什么我不能从基类创建用户定义的转换?我有一个返回基类的方法。我能够定义一种转换方法,但创建一个强制转换运算符恕我直言将是一个更好的解决方案。