私はProduct
のリストを持っています。 。 。ループを使用してオブジェクトのリストの項目を配列に取り込みます
public List<Product> products = new List<Product>();
。 。 。メソッドと一緒に提供されたtheType
引数がList
のオブジェクト内のType
フィールドと一致する場合、List
の項目で配列を設定するメソッドGetList(string theType)
を作成したいとします。
返されたときに配列に格納されるのは、theType
引数に対して正常にマッチしたすべての製品のという名前のです。
public string[] GetList(string theType)
{
string[] theList = new string[10];
for(int i = 0; i < theList.Length; i++)
{
foreach (Product p in products)
{
if (p.Type.Equals(theType))
{
theList[i] = p.ProductName;
}
}
}
return theList;
}
これは機能していないようです。でも私はそれを見ることができます。私はこれを考えるにはあまりにも疲れている。
EDIT:
私は戻っtheList
でコンボボックスを移入します。 2つのコンボボックスがあります。コンボボックス1で選択されたタイプの製品アイテムを取り込むためには、最初のプリセット値を有効にするためにプリセット値を選択しなければなりません。あなたはList<string>
ではなく、配列を使用し、一致する項目数がわからないので
private void combobox1_SelectedValueChanged(object sender, EventArgs e)
{
if (combobox1.Text != "")
{
combobox2.Enabled = true;
combobox2.Items.Clear();
if (combobox1.SelectedText.Equals("Dairy"))
{
// i try to display what the method has returned inside a messagebox, but it doesn't display it at all, the messagebox
string[] theList = client.GetList("dairy");
string theStringList = "";
for (int i = 0; i < theList.Length; i++)
{
theStringList += "\n" + theList[i];
}
MessageBox.Show(String.Format("{0}"), theStringList);
//combobox2.Items.AddRange(client.GetList("dairy"));
}
}
else
combobox2.Enabled = false;
}
使用は==等しいません。 – Joe
あなたの編集のために私の答えを編集 –