C# 是否有任何方法可以在linq或其他方式中从右向左赋值
标题很不清楚。但是我找不到合适的词。通常,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);});
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。