【发布时间】:2019-09-19 10:59:51
【问题描述】:
在下面的示例中,我有两组具有匹配键的对象。
class Stuff
{
int Key1 { get; set; }
... other props
}
class OtherStuff
{
int Key2 { get; set; }
... other props
}
我想将这些对象的两个列表连接在一起作为一对列表。假设有一个名为Error 的类表示错误状态。我尝试通过以下方式做到这一点;
Either<Error, List<Stuff>> eitherStuff = GetStuff();
Either<Error, List<OtherStuff>> eitherOtherStuff = GetOtherStuff();
Either<Error, List<object>> eitherCombined =
from stuff in eitherStuff
select stuff into s1
from otherStuff in eitherOtherStuff
select otherStuff into s2
from s1item in s1
join s2item in s2
on s1item.Key1 equals s2item.Key2
select new {s1item, s2item};
但这失败了
当前上下文中不存在名称“s1”。
结合两个Either<Error, List<T>> 的最佳方法是什么?
【问题讨论】:
标签: c# linq monads language-ext