2009-12-16 116 views
1

在两个不同的网站(在相同的解决方案)相同的代码,VB.Net(框架3.5)。LINQ选择:不同的项目相同的代码不同的结果

验证码:

Public Class UserTest 
    Public hhh As Integer 
    Public fff As String 

    Public Sub New(ByVal hh As Integer, ByVal ff As String) 
     Me.hhh = hh 
     Me.fff = ff 
    End Sub 

End Class 

     Dim lst As List(Of UserTest) = New List(Of UserTest) 
     lst.Add(New UserTest(1, "x")) 
     lst.Add(New UserTest(2, "y")) 

     Dim myData = lst.Select(Function(o) New With {.id = o.fff, .name = o.hhh}) 

一个select返回酒店的大写字母其他没有名字。

alt text http://img8.imageshack.us/img8/4509/linqbug1.jpg

我试图在所有更改属性的名称,没有大写字母。

Dim myData = lst.Select(Function(o) New With {.prop1 = o.fff, .prop2 = o.hhh}) 

alt text http://img695.imageshack.us/img695/5231/linqbug2.jpg

感谢。

+0

输出1和2是相同的... – 2009-12-16 13:03:03

+1

有没有可能是其他的代码使用大小写不同的匿名对象构造? – tvanfosson 2009-12-16 13:03:30

+1

@Fabian - 这是不同的属性名称,而不是数据。 – tvanfosson 2009-12-16 13:04:01

回答

1

在您发布的代码示例,在匿名对象初始化属性名称都写有一个首字母小写。你肯定的是,在其他网站上的代码是真的一样吗?我怀疑它使用大写首字母:

Dim ggg = StaticData.GetLocationsByText(data, CountryId).Select(_ 
Function(o) New With { _ 
.Id = o.UniqueLocation, _ 
.Text = o.DisplayLocation}).ToList() 
+0

这是相同的代码。 – SirMoreno 2009-12-16 14:48:36

相关问题