개체 배열에 대해 배우기 시작했는데 몇 가지 어려움이 있습니다.개체의 값은 무엇이며 언제 null 일 수 있습니까?
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
될 수있다 : 내가 클래스 Person
의 간단한 코드와 같은 클래스 PersonArray
과 PersonArray 클래스의 방법 중 하나가 발견 (m_Arr는 사람의 배열입니다)? 개체가 가질 수있는 값이 무엇인지 의미하므로 null이되지 않습니다. 또한, 또 다른 질문이 있습니다 - m_Counter 변수 (카운터) 초기화되지 않지만 모든 problams없이 작동합니다. 왜 괜찮습니까?
* "내 질문은 p가 null 일 수 있습니다."* ... 단순히 발신자 코드가 '추가 (null);'일뿐입니다. ** reference ** 타입 인'Person'과는 반대로 ** value 타입 ** 인'int' 타입의 m_Counter는 동일하지 않습니다 –
다음은 디폴트에 대해 이야기하는 페이지입니다 변수의 값. 그것은 당신이 초기화되지 않은 변수를 사용할 수 없다고 주장하기 때문에 약간 혼란 스럽지만, 나는 그들이 기본 생성자를 가지고 있지 않다는 것을 의미한다고 가정합니다 ... http://msdn.microsoft.com/en-us/library/83fhsxwc (v = vs80) .aspx – RonaldBarzell