所以目前有一段代碼,它看起來像這樣的時候造成了一個奇怪的錯誤...添加lambda表達式試圖編譯
string name = GetValues(sequenceOfCodes, 0, IDtoMatch, 1)[0];
我剛剛更新了下面一行是
string name = sequenceOfCodes
.Select(x => x[0])
.Where(x => x == IDtoMatch)
.FirstOrDefault();
哪個應該有希望返回相同的東西。
sequenceOfCodes是List<List<String>>
而IDtoMatch
也是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應用程序。
----------- ---------- UPDATE
好了,我已經發現引用的一個不引用System.Windows.Forms的,我實在是讓人失望,因爲這是核心代碼,不應該有這樣的:(依賴
但是我仍然不知道爲什麼錯誤之前沒有出現,直到後,我加了我的代碼行。
要確認,如果我刪除我的代碼,我可以關閉VS,並重新啓動並重建,一切都很好。 如果我添加我的代碼行並關閉並重新啓動等錯誤將r消失在重建。
對我來說很奇怪的錯誤。
謝謝你們所有的幫助
@James爲什麼x == IDtoMatch不正確? – Neel
不,他不是,因爲IDtoMatch是一個字符串,而不是一個類型。 – dcastro
@James'x == IDToMatch'是正確的。 –