小编K. *_*Sr.的帖子

为什么这两种匿名类型不相同?

谁能告诉我为什么这两种匿名类型不一样?

{Name = "<>f__AnonymousType0`6" FullName = "<>f__AnonymousType0`6[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Decimal, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}

{Name = "<>f__AnonymousType0#1`6" FullName = "<>f__AnonymousType0#1`6[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Decimal, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}
Run Code Online (Sandbox Code Playgroud)

澄清:(我不知道它是否重要,但是一个匿名类型带有#符号。哦,#01)

我有这两段代码。在同一个类(程序集)中。一个返回上面的匿名类型之一,另一个返回另一个。但是,两者都在评估相同的表达式。

我做了下面的比较(有些只是为了查看结果,即使有些应该正确地返回false)。但是,它们都返回false。(我可能遗漏了一些我尝试过的东西)

ms返回匿名类型之一。resultOfSelect返回另一个匿名类型。

注意:第二段代码中的methodArgumentStringContainingSelectStatement包含与字符串相同的表达式。


'ms == resultOfSelect'

'ms.GetType()== resultOfSelect'

'ms.GetType()。Equals(resultOfSelect.GetType())'

'ms.GetType()== resultOfSelect.GetType()'

和别的。全部错误

resultOfSelect debugView是:

{Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable <<> f__AnonymousType0#1>} …

linq entity-framework anonymous-types roslyn ef-core-2.0

1
推荐指数
1
解决办法
120
查看次数