Questions tagged «casting»

强制转换是一个过程,其中如果允许转换,则将对象类型显式转换为另一种类型。此过程可能会导致价值变化。

4
在sqlite中将int转换为实数
sqlite除法返回整数值 sqlite> select totalUsers/totalBids from (select (select count(*) from Bids) as totalBids , (select count(*) from Users) as totalUsers) A; 1 我们可以转换结果以获得除法结果的真实价值吗?
80 sql  sqlite  casting  division 

14
在javascript中将字节数组转换为字符串
如何将字节数组转换为字符串? 我发现这些功能相反: function string2Bin(s) { var b = new Array(); var last = s.length; for (var i = 0; i < last; i++) { var d = s.charCodeAt(i); if (d < 128) b[i] = dec2Bin(d); else { var c = s.charAt(i); alert(c + ' is NOT an ASCII character'); b[i] …

10
为什么我们在Java中将父引用分配给子对象?
我在问一个很简单的问题,但是对此我有些困惑。 假设我有一堂课Parent: public class Parent { int name; } 并开设另一堂课Child: public class Child extends Parent{ int salary; } 最后是我的Main.java类 public class Main { public static void main(String[] args) { Parent parent = new Child(); parent.name= "abcd"; } } 如果我做一个子对象 Child child = new Child(): 然后child对象可以访问两个name and salary变量。 我的问题是: Parent parent …

10
基本类型“ short”-Java中的强制转换
我对shortJava中的原始类型有疑问。我正在使用JDK 1.6。 如果我有以下情况: short a = 2; short b = 3; short c = a + b; 编译器不想编译-它说它“不能从int转换为short”,并建议我将其强制转换为short,因此: short c = (short) (a + b); 确实有效。但是我的问题是为什么我需要演员表?a和b的值在的范围内short-短值的范围是{-32,768,32767}。当我想执行操作-,*,/(我没有检查其他操作)时,也需要进行强制转换。 如果对原始类型执行相同的操作int,则无需将aa + bb强制转换为int。以下工作正常: int aa = 2; int bb = 3; int cc = aa +bb; 我在设计一个类时发现了这一点,该类需要添加两个short类型的变量,并且编译器希望我进行强制类型转换。如果使用两个type类型的变量来执行此操作int,则不需要强制转换。 一句话:原始类型也会发生相同的情况 byte。因此,这可行: byte a = 2; byte …


4
在Go中对多个返回值进行转换/类型声明的惯用方式
在Go中强制转换多个返回值的惯用方式是什么? 您可以单行执行吗,还是需要使用临时变量(例如我在下面的示例中所做的那样)? package main import "fmt" func oneRet() interface{} { return "Hello" } func twoRet() (interface{}, error) { return "Hejsan", nil } func main() { // With one return value, you can simply do this str1 := oneRet().(string) fmt.Println("String 1: " + str1) // It is not as easy with …

9
何时使用Cast或Convert
我很好奇,想知道有什么区别铸说的之间int相对于使用Convert.ToInt32()。使用它可以获得某种性能提升吗? 另外,每种情况都应用于哪些情况?目前,我更倾向于使用,Convert但我没有理由选择任何一种方式。在我看来,他们两个都实现了相同的目标。
77 c#  casting 


15
什么时候整数<->指针强制转换正确?
民间传说说: 类型系统存在是有原因的。整数和指针是不同的类型,在大多数情况下,整数和指针之间的转换是不当行为,可能表示设计错误,应避免使用。 即使执行了这样的强制转换,也不应假设整数和指针的大小(强制void*转换int为使代码在x64上失败的最简单方法),而不int应该使用intptr_t或uintptr_tfrom stdint.h。 知道这一点,什么时候执行这样的转换真正有用? (注意:对于可移植性的价格,较短的代码并不算作“实际有用”。) 我知道一种情况: 一些无锁的多处理器算法利用了一个事实,即2个字节以上的指定指针具有一定的冗余性。例如,它们然后将指针的最低位用作布尔标志。对于具有适当指令集的处理器,这可以消除对锁定机制的需要(如果指针和布尔标志是分开的,则这是必要的)。 (注意:这种做法甚至可以通过java.util.concurrent.atomic.AtomicMarkableReference在Java中安全地进行) 更多的东西?
77 c++  c  pointers  casting 





3
将数组转换为IEnumerable <T>
假设您有一个Employee这样的基本类: class Employee { public string Name; public int Years; public string Department; } 然后(在一个单独的类中)我有以下代码片段(我想我理解除了最后一个以外的所有内容): 我相信以下代码片段可以工作,因为数组初始化器创建了一个Employee对象数组,该对象与分配给其的forceforce变量具有相同的类型。 Employee[] workforceOne = new Employee[] { new Employee() { Name = "David", Years = 0, Department = "software" }, new Employee() { Name = "Dexter", Years = 3, Department = "software" }, new Employee() …
76 c#  arrays  generics  casting 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.