我正在尝试将一些C#代码移动到VB中。当我通过Telerik的翻译器运行C#代码时,它会吐出下面的VB代码。 VB代码不会编译并给出" a.Remove()"部分。错误是
"表达式不会产生值"
删除"脚本"正确的代码是什么?和" a"标签,所以VB代码的工作原理与C#代码相同?
我原来的C#代码:
public static HtmlDocument RemoveUselessTags(HtmlDocument doc)
{
doc.DocumentNode.Descendants()
.Where(a => a.Name == "script" || a.Name == "a")
.ToList()
.ForEach(a => a.Remove());
return doc;
}
我的翻译" VB代码:
Public Shared Function RemoveUselessTags(doc As HtmlDocument) As HtmlDocument
doc.DocumentNode.Descendants()
.Where(Function(a) a.Name = "script" OrElse a.Name = "a")
.ToList()
.ForEach(Function(a) a.Remove())
Return doc
End Function
答案 0 :(得分:4)
问题是你正在使用Function
,这是返回值的东西。你应该可以使用:
ForEach(Sub(a) a.Remove())