2
私はDTO、Departmentのコレクションを持っており、すべてのDepartmentオブジェクトの列の1つだけを抽出したいと考えています。私の理解からアウトVB.NETでのLinq/lambdasの混乱
List<Department> departments = corporation.GetDepartments();
List<int> departmentIDs = departments.ConvertAll(dep => dep.ID);
これはConvertAll(引数でLINQを使用すること、である)ラムダ式であること:私はC#で、あなたはこのように行うことができることを知っています。 VBで同じことを達成しようとすると
、それは1のコンバータ・メソッドを定義しなければならないようだ(?):
Dim departmentIDs As List(Of Integer) = coll.ConvertAll(New Converter(Of Department, Integer)(AddressOf ConvertDepartmentToInt))
Public Shared Function ConvertDepartmentToInt(ByVal dep As Department) As Integer
Return dep.ID
End Function
なぜそれがこのようなものですか?何か不足していますか?
感謝を!この構文は、C#構文よりも文書化されていないようです。たぶんC#の人気のために.. –