我正在研究一些C#代码,以试图了解发生了什么。我已经感兴趣的部分,并且很好奇这个条件在说什么。我对C#不太了解,并且想知道是否有人可以将此行基本上翻译成英语。
if (!executeItemCommand._container.Adapters.Where<IAdapter>((Func<IAdapter, bool>)
(i_X => i_X.Identity.Equals("MeasureViews"))).Any<IAdapter>())
答案 0 :(得分:4)
本来应该是这样的:
!executeItemCommand._container.Adapters.Any(a => a.Identity.Equals("MeasureViews"))
此条件检查容器中是否没有Identity
等于“ MeasureViews”的适配器。因此,如果有,它将返回false
。
您可能对MSDN上有关LINQ .Any()
的本文档感兴趣,以进一步学习。
就像评论一样,恕我直言,用这种方式重写它实际上会更干净:
executeItemCommand._container.Adapters.All(a => !a.Identity.Equals("MeasureViews"))