【发布时间】:2009-12-16 22:46:10
【问题描述】:
两个不同网站上的相同代码(在同一个解决方案上),VB.Net(框架 3.5)。
代码:
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})
一个选择返回带有大写字母的属性名称,另一个不返回。
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
谢谢。
【问题讨论】:
-
输出1和输出2是一样的...
-
是否有可能其他代码在匿名对象构造函数中使用了不同的大小写?
-
@Fabian - 不同的是属性名称,而不是数据。
-
你能展示一下StaticData类吗?另外,大小写差异对您的应用有什么影响?
-
Lazarus,JavaScript 区分大小写。因此这两个 JSON 对象是不兼容的。
标签: .net linq linq-to-objects