2015-07-28 36 views
0

數據類型int是指System.Int32,它是一個結構。我沒有幾個基本問​​題。在C#中,輸入int指Int32。它仍然是一個值類型

  1. 它是如何變成一個值類型而不是引用類型。
  2. 該結構正在繼承其他接口並實現了方法。

一個結構是否可以繼承並可以容納接口的實現方法。

+6

AC#'struct' _is_ a [value type](https://msdn.microsoft.com/en-us/library/ah19swz4.aspx)... –

+1

https://msdn.microsoft.com/zh-cn/ -us/library/saxz13w4.aspx –

+0

[在.NET中struct和class有什麼區別?](http://stackoverflow.com/questions/13049/whats-the-difference-between-struct-and- class-in-net) – Fabjan

回答

3

它是如何成爲一個值類型,而不是引用類型。

它成爲一個值類型和所有其他類型的.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> 
2
  1. int和int32是相同的東西,它們都是值類型int不會成爲引用類型。

  2. Stucts可以實現接口

2

至於你的問題int只是指向的Int32結構的別名。該結構是某種輕量級對象,它存儲在堆棧中,而普通對象(類)則存儲在堆中。 Struct不能繼承類但只能接口。從它繼承也是不可能的。你可以在StackOverflow上找到關於結構的很多信息,或者你可以在Google上找到它。

相關問題