簡體   English   中英

C#是Microsoft.Office.Interop.Excel.Range.Cell.Count為每個調用或常量計算的

[英]C# Is Microsoft.Office.Interop.Excel.Range.Cell.Count a calculated for every call or a constant

我有一些代碼,通過檢查屬性Excel.Range.Cells.Count來檢查Excel.Range中是否有任何單元格。 從我的分析來看,這似乎是一個瓶頸(請注意,該方法已被多次調用)。 有誰知道Count屬性是如何實現的,是通過在每次調用時遍歷所有單元格來計算得出的,還是它是一個常數?

我在Microsoft文檔,StackOverflow或Google上找不到關於此的任何信息。 任何幫助表示贊賞。

非常感謝你。

由於Excel.Range.Cells本身返回Range對象,因此使用Range的屬性。 並且其文檔說,它返回集合中對象的數量。 [MSDN] [1]

這表明range就像一個動態數組,因此它的Count屬性不能為常量(就C樣式常量而言)。 因此,我們至少可以通過讀取內部存儲的值(僅當集合更改時才更新)來推斷出每次調用都會計算出該屬性。

[1] http://msdn.microsoft.com/zh-CN/library/aa214230(v=office.11​​).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM