在C#中,int类型指的是Int32。它仍然是一种价值类型

时间:2015-07-28 08:34:47

标签: c# .net

数据类型int引用cd /usr/local/directadmin/custombuild ./build update ./build clean ./build set ioncube yes ./build ioncube service httpd restart ,这是一种结构。我几乎没有什么基本问题。

  1. 它如何成为值类型而不是引用类型。
  2. 该结构继承了其他接口并实现了方法。
  3. 结构是否可以继承,并且可以保存接口的实现方法。

3 个答案:

答案 0 :(得分:4)

  

它如何成为值类型而不是引用类型。

它变为值类型,因为.NET中的所有其他类型都被声明为struct,而不是class

  

结构是否可以继承,并且可以保存结构的实现方法   接口

struct 无法继承,但可以实现接口。 int32值类型。为什么他们不能继承?有关详情,请参阅Why don't structs support inheritance?

通过viewing the source,您可以轻松地看到Int32实现了一堆接口:

public struct Int32 : IComparable, IFormattable, IConvertible,
                      IComparable<Int32>, IEquatable<Int32>

答案 1 :(得分:2)

  1. int和Int32是同一个东西,它们都是值类型int不会成为引用类型。

  2. Stucts可以实现接口

答案 2 :(得分:2)

至于你的问题int只是一个指向Int32结构的别名。结构是某种轻量级对象,存储在堆栈上,而普通对象(类)存储在堆上。 Struct不能继承类,只能继承接口。它也不可能继承它。你可以在StackOverflow上找到很多关于结构的信息,或者你可以在谷歌上找到它。