當前位置:編程學習大全網 - 網站源碼 - C#中list<T>=new List<T>();在內存中的存儲結構是什麽樣的?單鏈表,雙鏈表,數組,還是數組型的指針?

C#中list<T>=new List<T>();在內存中的存儲結構是什麽樣的?單鏈表,雙鏈表,數組,還是數組型的指針?

樓上說的錯誤。

C#中的泛型List<T>容器,實際上類似於STL中的vector<T>,它本質上的數據結構是壹個數組,並不是樓上說的鏈表。C#中的鏈表容器是LinkedList<T>。

至於List<T>內部保存的到底是元素本身還是元素的指針,要看妳這個元素T到底是值類型還是引用類型。C#中類型分為二種,int、double、struct等都是值類型,妳定義壹個變量就定義了能夠容納這個類型數據的實體。而像各種class則都是引用類型,妳定義了壹個變量其實只相當於定義了這項這個變量實體的指針,指針指向壹個在堆上分配的對象。

這樣的話,妳的List<T>到底是指針數組還是實體數組就取決於T到底是哪種類型了,如果是值類型,則是實體數組,如果是引用類型,則是指針數組。

  • 上一篇:如何用C語言寫壹個表單應用?
  • 下一篇:MT4 EA是根據CCI指標和macd指標編寫的。
  • copyright 2024編程學習大全網