【发布时间】:2014-03-05 09:05:13
【问题描述】:
我有以下代码:
List<Person> People = new List<Person>();
List<PersonType> PeopleTypes = new List<PersonType>();
var JoinedLists = People.Join(PeopleTypes, PeopleKey => PeopleKey.PersonType, PeopleTypesKey => PeopleTypesKey.TypeID, (Person, PersonType) => new { Name = Person.Name, TypeID = PersonType.TypeID });
现在我想为此代码创建一个可重用的方法。到目前为止,我已经想到了这个:
List<T> ListJoin<T, S>(List<T> FirstTable, List<T> SecondTable, Func<T, S> OuterKeySelectorExpr, Func<T, S> InnerKeySelectorExpr, _______ ResultSelectorExpr)
{
FirstTable.Join(SecondTable, OuterKeySelectorExpr, InnerKeySelectorExpr, ResultSelectorExpr);
}
我做得对吗?连接扩展的结果选择器的等效 Func 委托是什么?
【问题讨论】:
-
ListJoin与普通的join有何不同? -
嗯,我打算在
join下面添加更多代码。
标签: c# linq lambda delegates func