我有一個方法,應該接受一個結構變量並返回一個布爾值。這工作正常 - 至少在語法方面,也許。C#錯誤傳遞一個新的結構變量給方法?
private bool equalsidcomparison(Employee newGuy)
{
foreach (Employee E in employees)
{ if (E.Name == newGuy.Name || E.phone == newGuy.phone) { return true; } return false; }
return false;
}
後來在點擊一個按鈕的方法,我在哪裏將數據傳遞到結構體變量的字段(newGuy),然後通過newGuy上述方法,有人告訴我,newGuy是未分配的局部變量。
Employee newGuy;
newGuy.id = nextIDnumber;
newGuy.Name = txtbName.Text;
newGuy.department = (string)comboDept.SelectedItem;
newGuy.title = comboJob.SelectedText;
newGuy.phone = txtbPhone.Text;
foreach (Employee E in employees)
{
if (equalsidcomparison(newGuy) == true) { };
}
我覺得這是一個簡單的解決方案,但我是新的,不知道該怎麼做。我環顧四周無濟於事,我不能離開我使用的過程太遠,因爲它是任務的一部分。
分配一個初始值。 –
這通常是其他數據類型的變量的解決方案,但我怎麼去做一個結構?我想我必須通過併爲其所有字段設置「0」值? – aBoy
當我說「賦予它初始值」時,我的意思是「Employee newGuy = new Employee();」局部變量必須在它所屬的方法退出之前都有一個值。否則,你會得到你剛剛得到的編譯器錯誤。 –