更新:2007 年 11 月

错误消息

在具有源类型“type”的查询表达式中后面的 from 子句中不允许使用类型为“type”的表达式。类型推理在对“method”的调用中失败。

所有范围变量都必须表示可查询的类型。

更正此错误

  1. 请确保该类型是实现 IEnumerableIEnumerable<T> 或派生接口的可查询类型,或者是定义了查询模式的任何其他类型。

  2. 如果该类型是非泛型 IEnumerable,请在范围变量上提供显式类型。

示例

下面的代码生成 CS1943:

 复制代码
// cs1943.cs
using System.Linq;
class Test
{
    class TestClass
    { }
    static void Main()
    {
        int[] nums = { 0, 1, 2, 3, 4, 5 };
        TestClass tc = new TestClass();
        
        var x = from n in nums
                from s in tc // CS1943
                select n + s;
    }
}