谁能告诉我为什么这两种匿名类型不一样?
{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>} …