簡體   English   中英

將參數傳遞給C#中的函數

[英]Passing parameter to a function in C#

我有一個小程序。 它包括一個列表框和幾個文本框。 列表框中的元素很少,並且根據所選索引,它會將相應的值輸出到文本框中。

代碼示例: http : //notepad.cc/share/AGh5zLNjfJ

我想使用一個函數將值打印到文本框中,而不是在切換情況下一遍又一遍地鍵入它們。

像這樣:

switch(personList.SelectedIndex)
{
    case 0:
        output(person1);
        break;
    case 1;
        output(person2);
        break;
}

我無法通過創建的函數傳遞person對象並訪問其屬性。 SOS。

不用按選定的索引切換,而是將人員列表作為數據源分配給列表框。 當選定索引更改時-在文本框中顯示選定項目的數據:

// that's just creating list of People with NBuilder
var people = Builder<Person>.CreateListOfSize(5).Build().ToList();
personList.DisplayMember = "fname"; // set name of property to be displayed
personList.DataSource = people;

然后從列表中選擇人:

private void personList_SelectedIndexChanged(object sender, EventArgs e)
{
    Person person = (Person)personList.SelectedItem;
    output(person);
}

請記住,在C#中,我們對方法和屬性使用PascalNaming。

您的輸出功能與此類似嗎?

public void output(Person p)
{
    idBox.Text = p.id;
    nameBox.Text = p.name;
    lNameBox.Text = p.lName;
}

您可以按以下方式獲取選定的項(如果您已將人員列表作為數據源來限制列表框)

Person p = (Person)listBox1.SelectedItem;

從您的代碼中,我想您需要一個功能。 你可以這樣

private void Output(Person p)
{
     idBox.Text = p.id;
     fnameBox.Text = p.name;
     lNameBox.Text = p.lName;
}

然后像打電話一樣打電話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM