私は、構造変数を受け入れてboolを返すことになっているメソッドを持っています。おそらく構文上、おそらくこれはうまくいきます。私は構造体変数のフィールド(newGuy)にデータを渡し、その後、上記の方法にnewGuyを渡していますボタンクリック方法、で後で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が割り当てられていないローカル変数であることを告げています。
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();」という意味ですローカル変数は、それが属するメソッドが終了する前にすべて値を持たなければなりません。それ以外の場合は、ちょうどあなたが持っているコンパイラエラーが発生します。 –