C# 是否有任何方法可以在linq或其他方式中从右向左赋值

C# 是否有任何方法可以在linq或其他方式中从右向左赋值,c#,.net,linq,dictionary,C#,.net,Linq,Dictionary,标题很不清楚。但是我找不到合适的词。通常,Linq使用以下语法工作 MyList.Where().Select(x => {MyFunction(x);}) 这在一般情况下是好的,但在某些情况下,如我的情况。我正在使用字典创建一个树结构。在这里,如果我想添加一个集合 Set.Foreach(x => {(MyDict[logEvent.level][logEvent.event][logEvent.subevent][logEvent.filePath]).Add(x);});

标题很不清楚。但是我找不到合适的词。通常,Linq使用以下语法工作

MyList.Where().Select(x => {MyFunction(x);})
这在一般情况下是好的,但在某些情况下,如我的情况。我正在使用字典创建一个树结构。在这里,如果我想添加一个集合

Set.Foreach(x => {(MyDict[logEvent.level][logEvent.event][logEvent.subevent][logEvent.filePath]).Add(x);});
但如果我能像下面这样做就好了

(MyDict[logEvent.level][logEvent.event][logEvent.subevent][logEvent.filePath]).Add(MySet.Foreach(x => {return x;}));

有什么方法可以做到这一点吗?

如果存储在
Dict
中的对象具有接受
IEnumerable
AddRange
方法,您可以做到这一点。但是你应该滑雪[
ForEach
,然后通过MySet:

MyDict[logEvent.level][logEvent.event][logEvent.subevent][logEvent.filePath]).AddRange(MySet);

@Marin不走运。HashSet不提供AddRange函数。而且我不喜欢仅为一行进行扩展。@prabhakaran for
HashSet
use。