相关疑难解决方法(0)

x64上的sizeof(int)?

当我sizeof(int)在C#.NET项目中执行时,返回值为4.我将项目类型设置为x64,那为什么它会说4而不是8?这是因为我正在运行托管代码吗?

c# clr 64-bit sizeof

44
推荐指数
6
解决办法
3万
查看次数

Java和C#中的原始类型是不同的吗?

我手动将代码从Java转换为C#并与(我称之为)原始类型进行斗争(参见,例如,自动装箱和拆箱在Java和C#中表现不同).从答案我明白double(C#)和Double(C#)是等价的,double(C#)也可以用在容器中,例如作为字典中的键.但是,double(Java)不能在像HashMap这样的容器中使用,因为它是自动装箱Double(Java)的原因.

  1. double(C#)一个原始或对象?
  2. 如果它是一个原始的,它使它的行为与double(Java)不同?

double除非它被创建,否则不能将(C#)设置为null nullable.

  1. double?(C#)相当于Double(Java)的?它们都被称为物体吗?

(在这个讨论中,"第一类对象"一词的用法是否有用?)

c# java primitive first-class

14
推荐指数
2
解决办法
6916
查看次数

Nullable <Int32>的大小是多少?

所以,实际上有两个问题:

  1. An int(Int32)被指定为(显然)32位.怎么样int?(Nullable<int>)?我的直觉告诉我,对于整数,它将是32位,加上布尔值的8位,但实现可能比这更复杂.
  2. 我会回答我自己的问题sizeof(int?); 但是作为int?托管类型,这是不允许的.我知道类型的大小可能与平台有关,而对于包含对其他对象的引用的对象,类似sizeof的操作会产生误导.但是,在给定当前环境的情况下,是否有办法获得托管类型的"基线"大小(即,新实例化实例的大小)?

.net int boolean nullable sizeof

11
推荐指数
2
解决办法
1191
查看次数

标签 统计

c# ×2

sizeof ×2

.net ×1

64-bit ×1

boolean ×1

clr ×1

first-class ×1

int ×1

java ×1

nullable ×1

primitive ×1