我正在尝试使用我选择的唯一对象填充List,稍后将对其执行操作。它只是我,还是以下不直观:
class Event {
void bang()
{
type = "bang";
}
String type;
}
void main()
{
var intList= new List<int>.filled( 4, 0 );
intList[1] = 1;
var eventList = new List<Event>.filled( 4, new Event() );
eventList[1].bang();
}
此时,intList
看起来像[0, 1, 0, 0]
,而eventList
的所有四个广告位都填充了相同的Event
对象,其type
字符串全部等于“爆炸”。
我所希望的是一个包含四个独立Event
个对象的列表,实现这一目标的最佳方法是什么?我当然可以在for循环中构建List:
var eventList = new List<Event>( 4 );
for( int i = 0; i < 4; i++ ) {
events[i] = new Event();
}
但这显然代码更多,耗时且容易出错。更不用说在VM方面可能会更慢。