[英]Jagged Array vs Array of Array
您如何看待它們之間的區別?
new object[][] { new object[] { "1" }, new object[] { "2" }, new object[] { "3" } }
new object[] { new object[] { "1" }, new object[] { "2" }, new object[] { "3" } }
我看到的唯一區別是方法的重載參數。
static void Arr(object[][] oa)
static void Arr(object[] oa)
也許 memory 的效率?
第一個是類型安全的; 第二個不是。
您的兩個 arrays 完全相同,除了第二個數組的類型為包含object
s,而第一個數組必須包含object[]
s(數組)。 因此,你可以寫
new object[] { DateTime.Now, new object[] { "1" }, new object[] { "2" }, ... }
而你不能寫
new object[][] { DateTime.Now, new object[] { "1" }, new object[] { "2" }, ... }
...因為DateTime.Now
不是object[]
。
在實踐中,你應該盡量使用限制性最強的類型來防止你犯錯誤。
在您的情況下,您應該使用string[][]
來確保您不能將DateTime.Now
放在內部數組中。
不同之處在於,在第二個示例中,您可以在數組中包含類型為object
的元素,而在第一個示例中,您可以包含object[]
元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.