C# 动态和不可变控件数组的问题
在WPF C#中,在代码隐藏中,我必须动态创建一个画布数组(每个画布还包括标签、文本框、按钮等子控件) 可以动态添加或删除每个画布。问题是我必须给Canvas数组一个长度,如果其中一个Canvas被删除,索引仍然会保留,并且后面的元素不能向上推。如果以后我添加新画布,新画布可能会超出范围,除非我从一开始就实例化一个非常大的数组C# 动态和不可变控件数组的问题,c#,wpf,controls,C#,Wpf,Controls,在WPF C#中,在代码隐藏中,我必须动态创建一个画布数组(每个画布还包括标签、文本框、按钮等子控件) 可以动态添加或删除每个画布。问题是我必须给Canvas数组一个长度,如果其中一个Canvas被删除,索引仍然会保留,并且后面的元素不能向上推。如果以后我添加新画布,新画布可能会超出范围,除非我从一开始就实例化一个非常大的数组 有更好的解决办法吗?是ArrayList,还是List或其他什么?这似乎很明显,但由于您事先不知道要存储多少元素,因此应该使用列表,列表等。然后您可以使用方法列表.添加(
有更好的解决办法吗?是ArrayList,还是List或其他什么?这似乎很明显,但由于您事先不知道要存储多少元素,因此应该使用
列表
,列表
等。然后您可以使用方法列表.添加()
和列表.删除()
不要使用ArrayList,您希望您的数据是强类型的,并且能够动态地添加和删除项,这样才符合要求
Canvas[] cv = new Canvas[myInt];
Label[] l = new Label[myInt];
TextBox[] tb = new TextBox[myInt];
...
Canvas.Children.Add(...);