通过第三方代码,C#解密

时间:2019-02-07 13:20:50

标签: c#

我正在研究一些C#代码,以试图了解发生了什么。我已经感兴趣的部分,并且很好奇这个条件在说什么。我对C#不太了解,并且想知道是否有人可以将此行基本上翻译成英语。

if (!executeItemCommand._container.Adapters.Where<IAdapter>((Func<IAdapter, bool>)
 (i_X => i_X.Identity.Equals("MeasureViews"))).Any<IAdapter>())

1 个答案:

答案 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"))