![](/img/trans.png)
[英]C#: ID-field of Microsoft.Office.Interop.Excel.Range is not persisted with an Excel-sheet
[英]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.