我将项目从 .net framework 1.1 升级到 3.5 的时候遇到一个比较致命的问题,
Find(queryString, nhParams)函数返回一个IList
在 framework1.1 语句 (int)Find(queryString, nhParams)[0] 可以成功返回整数,就是说执行Find(queryString, nhParams)[0]先,再执行int的转换
但是到 framework3.5 的时候, (int)Find(queryString, nhParams)是先进行类型转换的,这导致System.InvalidCastException。
请问各位有遇到这样的问题吗?请问怎么解决呢?(代码很多地方都有这些问题,直接改代码不大现实)
你是说,数组下标[]的优先级和()转型的优先级在.net 1.1和.net 3.5也就是C# 1.0和C# 3.0不一致?
应该不会啊,下面的链接也说明了这点