【发布时间】:2017-09-10 06:28:45
【问题描述】:
我有一个应该接受结构变量并返回布尔值的方法。这工作得很好——也许至少在语法方面。
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”值?
-
当我说“为它分配一个初始值”时,我的意思是“Employee newGuy = new Employee();”局部变量必须在它所属的方法退出之前都有一个值。否则,你会得到刚刚得到的编译器错误。
标签: c# methods struct parameters arguments