我有以下按工作职位对实体进行排序。所需的顺序是在另一个数组中定义的。在 C# 中,此代码有效:
IEnumerable<CreditObject> query = credits.OrderBy(x =>
{
for (int i = 0; i < list.Length; i++)
{
if (x.Job == list[i])
return i;
}
throw new NotImplementedException("Job not within List");
});
但是我必须将其转换为 VB.net。我读到的等效内容如下:
Dim query As IEnumerable(Of CreditObject) = credits.OrderBy(Function(x)
For j As Integer = 0 To templ.Length - 1
If x.Job = templ(j) Then
Return j
End If
Next
End Function)
这不会编译,在Function(x)
. 我究竟做错了什么?