我開始瞭解對象的數組,並且遇到一些困難。 我發現類Person
的一個簡單的代碼和類PersonArray
和在PersonArray類的方法之一是這樣的(m_Arr是一個Person陣列):對象的值是什麼,什麼時候可以爲空?
public void Add(Person p)
{
if (p == null)
Console.WriteLine("Error, param can't be null");
if (m_Arr.Length <= m_Counter)
{
Array.Resize(ref m_Arr, m_Arr.Length + 10);
}
m_Arr[m_Counter++] = p;
}
我的問題爲p時可以null
?我的意思是什麼值可以反對,所以它不會是空的?另外,我還有一個問題 - m_Counter變量(這是一個計數器)沒有初始化,但它沒有任何問題。爲什麼它可以?
*「我的問題是什麼時候可以爲null?」* ...只要調用者代碼是「Add(null);'。這與m_Counter是不一樣的,它的類型爲'int',它是一個**值類型**,與'Person'是相反的,它是一個**引用**類型 –
這是一個頁面,講述有關default變量的值。這有點令人困惑,因爲他們聲稱你不能使用未初始化的變量,但我認爲這意味着只有當他們沒有默認的構造函數時... http://msdn.microsoft.com/en-us/library/83fhsxwc( v = vs80).aspx – RonaldBarzell