所以目前有一段代码看起来像这样......
string name = GetValues(sequenceOfCodes, 0, IDtoMatch, 1)[0];
我刚刚将以下行更新为
string name = sequenceOfCodes
.Select(x => x[0])
.Where(x => x == IDtoMatch)
.FirstOrDefault();
这应该有望返回相同的东西。
sequenceOfCodes 是 aList<List<String>>
并且 theIDtoMatch
也是 a string
。
所以希望这一切看起来都很好。
然而,当我去编译我得到一个奇怪的错误
The type 'System.Windows.Forms.ComboBox' is defined in an assembly
that is not referenced.
You must add a reference to assembly 'System.Windows.Forms, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089'
当我把我新添加的代码拿走时,它可以很好地编译并运行......那么为什么仅仅因为我添加了一个lambda expression
它认为我需要一个引用System.Windows.Forms.ComboBox
?
只是声明这是一个控制台应用程序。不是winforms应用程序。
- - - - - -更新 - - - - -
好的,所以我发现其中一个引用确实引用了 System.Windows.Forms,我真的很失望,因为这是核心代码,不应该有这样的依赖:(
但是我仍然想知道为什么直到我添加了我的代码行之后才出现错误。
确认一下,如果我删除我的代码,我可以关闭 VS 并重新启动并重建,一切都很好。如果我添加我的代码行并关闭并重新启动等。错误将在重建时重新出现。
对我来说非常奇怪的错误。
谢谢大家的帮助