特定の日付の従業員に割り当てられた部門をリストを使用して検索したいと思います。 従業員IDと日付の組み合わせは、従業員が特定の日付に1つの部門にのみ割り当てられることを意味します。リストを検索<T>キーの組み合わせを検索してC#
List<clsEmployee> _items = new List<clsEmployee>();
_items.Add(new clsEmployee()
{EmpId=100,Date="05/05/2017",DeptAssigned="Grocery"});
_items.Add(new clsEmployee()
{EmpId=100,Date="06/05/2017",DeptAssigned="Clothing"});
_items.Add(new clsEmployee()
{EmpId=100,Date="07/05/2017",DeptAssigned="Crockery"});
_items.Add(new clsEmployee()
{EmpId=101,Date="05/05/2017",DeptAssigned="cosmetics"});
_items.Add(new clsEmployee()
{EmpId=101,Date="06/05/2017",DeptAssigned="gardening"});
_items.Add(new clsEmployee()
{EmpId=101,Date="07/05/2017",DeptAssigned="grocery"});
clsEmployee objEmployee = new clsEmployee();
objEmployee = _items.Find(x => x.EmpId == 100);
//i want something like objEmployee = _items.Find(x => x.EmpId==100
//&& x => x.Date="05/05/2017");
string DeptAssignedToEmp = objEmployee.DeptAssigned;
//expected result - grocery in this case.
補足説明:ちょっとした提案: DeptAssignedを単純な文字列として使用することは安全です。少なくともより良い列挙型の定数を使用してください。 このようにして、タイプミスや大文字と小文字の区別の問題を避けることができます –
文字列を使用して日付を表現しません – Steve