为什么我的代码中的LINQ方法`Where`对于string []是错误的?

时间:2016-07-06 11:57:06

标签: c# .net linq

.Net 3.5

我做简单的LINQ操作:

using System.Linq;
...
/* extract product key. I.e. to get the "ACAD-7001:
 * 409" from "SOFTWARE\Autodesk\AutoCAD\R17.2\ACAD-
 * 7001:409". Ignore the last '\' char if it 
 * exists. */
string product_code = subkey_name.Split('\\').Where
    (n -> n != string.Empty).Last();

但是我得到了编译错误:

enter image description here

嗯...但是在我的代码中我已经使用了这个LINQ方法Where。 Whot错了?

2 个答案:

答案 0 :(得分:0)

而不是

Where
    (n -> n != string.Empty)

使用

Where
    (n => n != string.Empty)

(所以将->替换为=>,这是正确的语法)

但我更喜欢这个:

.Where(n => !String.IsNullOrEmpty(n))

答案 1 :(得分:0)

已更改 - > to =>它的工作原理

string subkey_name = "xyz\\abc\\pqr";

        string product_code = subkey_name.Split('\\').Where(n=>n != string.Empty).Last();

输出是" pqr"

使用此功能。

string product_code = subkey_name.Split('\\').Last(c=> c != string.Empty);