我想制作一些将多维列表填充到某个比例的内容,默认值为T
。
for (int x = 0; x < MapSize [0]; x++) {
List<List<T>> Map_YZ = new List<List<T>> ();
Map.Add (Map_YZ);
for (int y = 0; y < MapSize [1]; y++) {
List<T> Map_Z = new List<T> ();
Map_YZ.Add (Map_Z);
for (int z = 0; z < MapSize [2]; z++) {
T PlainItem = default(T);
Map_Z.Add (PlainItem);
}
}
}
答案 0 :(得分:1)
您只需填充List
的{{1}}值为default
,对吧?
为具有预定义值的一个列表创建帮助方法T
:
Fill
并将其用于所有3个级别:
public static List<T> Fill<T>(Func<T> getValue, int range )
{
return Enumerable.Range(0, range).Select(x =>getValue()).ToList();
}
你可以将这3行写成一行,但它会使整个代码不可读:)
我已经改变了我的解决方案,因为来自S.Serp的评论,第一个解决方案非常危险。