[英]init jagged array to zeros
有沒有更簡潔的方法來初始化這個鋸齒狀數組?
var r = new int[a.Length][];
for (int i=0; i<a.Length; i++)
{
r[i] = new int[2];
}
我不想要一個多維數組int[,]
因為我以后可能需要分配給int[2]
以外的一些元素
答案是否定的,您不能在初始化時隱式default
一個鋸齒狀數組。
鋸齒狀數組實際上只是一個數組(在這種情況下是另一個數組),因此每個元素都必須由它自己初始化。
我可以建議使用
相反,多維數組,這將在初始化時defaulted
。
如果您無法編寫通用幫助程序來default
和初始化
或擴展方法
Linq 的等價物只是稍微不那么冗長:
int[][] r = Enumerable.Range(1,a.Length)
.Select(i => new int[2])
.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.