レコードを編集するためのフォームがありListBox
ます。TextBox
また、のComboBox
タイプを選択する必要がありますtrip
(これはフォーム内で定義されています)。
private void LoadExpenseList()
{
tripSelect.Items.Clear();
var dateSorted =
from e in roster
orderby e.Trip
select e;
foreach (var e in dateSorted)
tripSelect.Items.Add(e.Trip);
}
private void tripSelect_SelectedIndexChanged(object sender, EventArgs e)
{
selectedExpense = (ExpenseItem)roster.TripFind((string)tripSelect.SelectedItem);
listExpenses.Items.Add(selectedExpense);
}
private void listExpenses_SelectedIndexChanged(object sender, EventArgs e)
{}
ここで、 を選択するtrip
と、 に渡された最初の結果だけが取得されますListBox
。その理由は次のとおりです (これはリスト クラスで定義されています)。
public ExpenseItem TripFind(string trip)
{
var specificExpenseItem =
from e in this
where e.Trip == trip
select e;
if (specificExpenseItem.Count() >= 1)
return specificExpenseItem.First();
return null;
}
書き直そうとするたびに問題が発生し続けます。私は、not all paths return a value
またはJITデバッガーが、これを乗り越えることができないと言っています。
これが私が試した最後のことです:
public ExpenseItem TripFind(string trip)
{
var specificExpenseItem =
from e in this
where e.Trip == trip
select e;
foreach (var e in specificExpenseItem);
return null;
}
何か助けはありますか?