1

你有这门课

Private Class MyClass
    Public Property propertyOne() as String
    Public Property propertyTwo() as String
    Public Property propertyN() as Integer
End Class

现在我想从 lambda 或 linq 表达式中填充 MyClass 的列表,有些像这样......

    Dim myClassList as new List(Of MyClass)
    myClassList = (From lOtherList1 in MyOtherList1.GetAll()
                   join lOtherList2 in MyOterhList2.GetAll() on lOtherList1.Id Equals lOtherList2.Id
                   Select myClassList.Add(new MyClass With { .propertyOne = lOtherList1.Field1, 
                  .propertyTwo = lOtherList1.Field2,
                  .propertyN = lOtherList2.Field1 })).Tolist()

但我收到此错误“表达式不产生值”,我如何做到这一点?

4

2 回答 2

0

myClassList.Add在您的查询中是错误的部分,请按如下方式进行编辑:

Dim myClassList as new List(Of MyClass)
myClassList = (From lOtherList1 in MyOtherList1.GetAll()
               join lOtherList2 in MyOterhList2.GetAll() 
               on lOtherList1.Id Equals lOtherList2.Id
               Select new MyClass With 
               { 
               .propertyOne = lOtherList1.Field1, 
               .propertyTwo = lOtherList1.Field2,
               .propertyN = lOtherList2.Field1 
               })).Tolist()
于 2012-05-26T16:12:10.033 回答
0

您将执行以下操作:

myClassList = (From lOtherList1 in MyOtherList1.GetAll()
               Join lOtherList2 in MyOtherList2.GetAll()
               On lOtherList1.Id Equals lOtherList2.Id
               Select new MyClass With
               {
                   .propertyOne = lOtherList1.Field1,
                   .propertyTwo = lOtherList1.Field2,
                   .propertyN = lOtherList2.Field1
               }).ToList()

你几乎有正确的代码。您只需要删除对myClassList.Add().

于 2012-05-26T16:12:36.523 回答