我是 C# 的新手,所以请多多包涵。
我需要使用列表或矩形列表。我的问题是,每当我为一个元素设置值时,也会设置其他元素。
例如,如果我的列表列表是“m_aRectWBLD”,大小为 2 x 4,当我设置“m_aRectWBLD [0][0]”时,“m_aRectWBLD [1][0]”也会被设置。
我正在使用 Visual Studio 2010 SP1。请让我知道我做错了什么。这是相关的代码。
private List<List<Rectangle>> m_aRectWBLD = new List<List<Rectangle>>();
static readonly Rectangle m_Rectdef = new Rectangle(0, 0, 0, 0);
private void ResetAllData()
{
List<Rectangle> aRectZero = new List<Rectangle>();
for (int i = 0; i != 4; i++)
aRectZero.Add(m_Rectdef);
m_aRectWBLD.Clear();
for (int i = 0; i != 2; i++)
{
m_aRectWBLD.Add(aRectZero);
}
m_aRectWBLD[0][0] = new Rectangle(0, 0, 100, 100); // after doing this both
// m_aRectWBLD[0][0] and
// m_aRectWBLD[1][0]
// have the same Rectangle value
}
非常感谢。