C# 将VB.NET中的代码段转换为C
我尝试了许多免费的代码转换器来转换下面的代码,但是没有成功C# 将VB.NET中的代码段转换为C,c#,.net,vb.net,linq,code-conversion,C#,.net,Vb.net,Linq,Code Conversion,我尝试了许多免费的代码转换器来转换下面的代码,但是没有成功 Dim resultList = ((From e In p_Xml.Elements() Where UCase(e.Name.LocalName) = searchName).Union( From a In p_Xml.Attributes() Where UCase(a.Name.L
Dim resultList = ((From e In p_Xml.Elements()
Where UCase(e.Name.LocalName) = searchName).Union(
From a In p_Xml.Attributes()
Where UCase(a.Name.LocalName) = searchName
Select <<%= propertyName %>><%= a.Value %></>)).ToList()
我一直使用的好的在线代码转换器是您的转换忽略了UCase,它在C中的等价物是ToUpperCase 但是,这不是执行不区分大小写的字符串比较的推荐方法 e、 Name.LocalName==searchName 应替换为以下内容: String.Comparee.Name.LocalName、searchNamename、StringComparison.InvariantCultureIgnoreCase==0 还有,什么是propertyName?不管它是什么,它的值显然不依赖于e。您在第一个查询中为每个e选择了一个相同的东西,这是没有意义的。我猜你的意思是选择e 那么,您可能想要的是以下内容:
var resultList = (from e in p_xml.Elements()
where String.Compare(e.Name.LocalName, searchName, StringComparison.InvariantCultureIgnoreCase) == 0
select e).
Union(from a in p_xml.Attributes()
where String.Compare(a.Name.LocalName, searchName, StringComparison.InvariantCultureIgnoreCase) == 0
select a.Value).ToList();
我只是不知道如何用C来表示Select,因为我不懂VB。我在一次演示中听到微软的项目。也许这对你有帮助
微软希望在未来的Visual Studio版本中集成Roslyn。然后就可以将代码从VB复制到剪贴板,并将其粘贴为C代码。去年也有关于这方面的介绍,可能是同一个。你有什么问题?他们可能被ASP.NET内联代码的使用弄糊涂了。您没有选择联盟左侧的任何项目!这对他没什么帮助,当他试图转换代码样本时,报告了一个InvalidoOperationException,另外他提到他尝试了许多免费的代码转换器,当我使用google代码转换器时,你的链接在搜索结果列表中排在第二位,查询c vb代码转换器的第一位,这意味着他不大可能不知道那个网站。。。
var resultList = (from e in p_xml.Elements()
where String.Compare(e.Name.LocalName, searchName, StringComparison.InvariantCultureIgnoreCase) == 0
select e).
Union(from a in p_xml.Attributes()
where String.Compare(a.Name.LocalName, searchName, StringComparison.InvariantCultureIgnoreCase) == 0
select a.Value).ToList();