我試圖將此方法轉換爲VB.NET,但在線轉換器似乎使轉換它亂七八糟。有人可以幫助:錯誤將C#轉換爲VB.NET
C#原:
private IEnumerable<IGrouping<string, Reference>> FindReferencesWithTheSameShortNameButDiffererntFullNames(List<Reference> references)
{
return from reference in references
group reference by reference.ReferencedAssembly.Name
into referenceGroup
where referenceGroup.ToList().Select(reference => reference.ReferencedAssembly.FullName).Distinct().Count() > 1
select referenceGroup;
}
VB.NET使用在線轉換器:
Private Function FindReferencesWithTheSameShortNameButDiffererntFullNames(references As List(Of Reference)) As IEnumerable(Of IGrouping(Of String, Reference))
Return _
Where referenceGroup.ToList().[Select](Function(reference) reference.ReferencedAssembly.FullName).Distinct().Count() > 1
End Function
上Where
這個錯誤沒有被聲明。
我不會想到的是,VB不會是DIS類似於C#是這樣的:
Private Function FindReferencesWithTheSameShortNameButDiffererntFullNames(references As List(Of Reference)) As IEnumerable(Of IGrouping(Of String, Reference))
Return From reference In references
Group reference By reference.ReferencedAssembly.Name
Into referenceGroup()
Where referenceGroup.ToList().Select(Function(reference) ReferencedAssembly.FullName).distinct().count() > 1
Select referenceGroup
End Function
,但我得到:方法referenceGroup的定義是不是在這種情況下訪問...有人可以幫我嗎?
你有沒有試圖通過自己查找語法一組,成,其中,select語句。這將涉及用手工轉換代碼,你應該這樣做,似乎你沒有嘗試過,自動工具給了你什麼。 –
@Ramhound - 是的,我自己嘗試過這個 - 我最初發布了轉換後的代碼,以便我沒有得到輕鬆的評論,說'使用在線代碼轉換器! –