问题标签 [type-conversion]
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++ - 在 C++ 中管理隐式类型转换
我正在研究执行最近邻查询的代码。用户在搜索中查询数据的方式有两个简单的想法:
- 距离空间中给定点最近的 N 个点。
- 给定距离内的所有点。
在我的代码中,Points 被放入 PointList 中,PointList 是一个容器,负责跟踪在搜索中找到的点。
现在我的 PointList 对象有一个构造函数:
我想添加的下两个构造函数是:
我的问题是:如何确保我的用户和 C++ 编译器将为 PointList 生成正确的构造函数并区分构造函数 1 和 2?我应该只实现#3 并提供为 maxvals 和 maxdist 定义任意大值的常量吗?另一种选择可能是编写另一个轻量级对象系统来管理将点添加到列表中的逻辑,但对于这样一个简单的想法来说,这感觉有点过头了。
我真的在努力让我的用户了解这一点,他们大多是科学家,他们有时在没有受过正规教育的情况下学习了 C++。谢谢!
linq - 在 Linq to Entities / Entity SQL 中选择 Max 并进行类型转换
我正在尝试为遗留数据库创建一些 CRUD 功能并将实体框架用作 ORM 工具。一个表“站点”具有用户从未见过的 Guid 类型“Id”列和用户用来标识站点的整数类型“SiteId”。
天知道为什么数字 SiteId 列在数据库中是 varchar(10) 类型的,但是其中的每个 SiteId 都是一个整数,并且所有未来的 SiteId 也将是整数。
为了生成一个新的、唯一的、整数类型 SiteId,我如何使用 Entity SQL 或 Linq to Enities 执行有效的“SELECT MAX(SiteId)”?
换句话说,我如何将列中的每个值从 varchar(10) 转换为 int 并从该集合中选择最大值?
这看起来很有希望,但 linq 无法将解析转换为“存储过程”......
c# - Template类的类型转换?
我有一个名为“baseClass”的类。从这个类我继承了一个类名“inheritedClass”(公共类inheritedClass:baseClass)
baseClass 包含一个公共函数,该函数返回一个HashSet<baseClass>
. 从inheritedClass调用时,返回类型显然仍然是HashSet<baseClass>
,但我需要一个HashSet<inheritedClass>
。
转换 ala ( HashSet<inheritedClass>
)returnValue,其中 returnValue 是 TypeHashSet<baseClass>
不起作用。
有没有办法将 HashSet-Type 从 baseClass 转换为 inheritClass 而无需手动转换每个元素?
提前致谢, 弗兰克
java - 如何将 int[] 转换为 byte[]
我有一个表示 RGB 图像的整数数组,并希望将其转换为字节数组并将其保存到文件中。
在Java中将整数数组转换为字节数组的最佳方法是什么?
c# - 使用字符串值通过反射设置属性
我想通过反射设置一个对象的属性,其值为 type string
。因此,例如,假设我有一个Ship
类,其属性为Latitude
,即double
.
这是我想做的:
照原样,这会引发ArgumentException
:
“System.String”类型的对象无法转换为“System.Double”类型。
如何将值转换为正确的类型,基于propertyInfo
?
c++ - 将结构转换为无符号字符 *
如何将以下内容转换struct
为unsigned char*
?
lisp - 你如何在 Scheme/Lisp 中对符号进行算术计算?
我需要使用符号执行计算。我需要将 hh:mm 形式的时间转换为经过的分钟数。
这是一个不正确的代码,经过所有转换后我得到一个字符并且无法执行正确的计算。
你们有什么建议吗?我无法更改输入类型。
上下文:输入是航班时刻表,因此我无法更改数据结构。
;; -------------------------------------------------- --------------------
编辑:想出了一个丑陋的解决方案。请提出更好的建议。
c# - 使用 TypeDescriptor 代替 TryParse
我正在尝试为泛型类型复制 TryParse,并认为 TypeDescriptor 可能会给我我想要的东西。所以我想出了以下测试用例,但它失败了,只是想知道是否有人知道我哪里出错了。
注意,我不想使用 try catch 块。
干杯安东尼
design-patterns - 如何处理外部库中的类型冗余?
我正在编写一个计算机图形应用程序,它使用了几个不同的库,这些库提供了许多必需的功能。
例如,在大学时,我编写了四元数、优化的 3 向量和优化的 4x4 矩阵类,我喜欢使用它们,因为它们很高效而且我对它们非常熟悉。我还写了一个只依赖于 STL 的 KD Tree 实现。
最后,我使用 ITK 来计算给定对称实数矩阵的最小特征值(和相关的特征向量)等等。
由于所有这些库都包含它们自己的矩阵和向量实现,我发现自己做了很多这样的事情:
显然我可以编写一个看起来像这样的函数:
我想通过执行以下操作来避免添加库间依赖:
但我想知道是否有人想出了一个更优雅的解决方案来解决这个问题。
也许我应该从 .NET 书中取出一页并创建一个静态 Convert 类?
您如何处理跨库的类型冗余以及在各种类型之间频繁转换的需要?
适配器模式在这里合适吗 ?
更新
经过更多探索,我遇到了TypeConverter。所以这个问题看起来已经在 C# 中得到解决。我仍在寻找一种干净、高效且简单的 C++ 方法。到目前为止,我正在考虑规范类型,或者可能只是简单的 ConvertHyperPointToFixedPointType 类型的函数。
更新 2 经过更多阅读之后,听起来规范类型实际上将充当 shim。有关更多信息,请参阅本文。
这是一些示例代码来说明我目前的倾向:
感谢你的帮助。如果有人遇到更好的东西,请随时更新这篇文章。
c# - 将整数转换为十六进制并再次返回
如何转换以下内容?
2934(整数)到 B76(十六进制)
让我解释一下我想要做什么。我的数据库中有存储为整数的用户 ID。我不想让用户引用他们的 ID,而是让他们使用十六进制值。主要原因是因为它更短。
所以我不仅需要从整数到十六进制,而且还需要从十六进制到整数。
有没有一种简单的方法可以在 C# 中做到这一点?