💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Compiler Error CS1942 “clause”子句中表达式的类型不正确。类型推理在对“method”的调用中失败。 如果为范围变量指定了不正确的显式类型,通常会生成此错误。 ## 更正此错误 1. 如果范围变量是显式类型的,请确保该类型与循环访问的集合中的元素类型相同或可从该类型隐式转换。如果范围变量的前面带有 **var** 关键字,请移除 **var**。 下面的代码生成 CS1942: ``` // cs1942.cs class Program { static void Main(string[] args) { var x = from var i in Enumerable.Range(1, 100) // CS1949 select i; //CS1942 } } ``` CS1942 与 CS1949 相关,因为对范围变量使用 **var** 会导致因 **var** 不是类型而使基础 Cast<T> 运算失败。 ## 请参阅 [var(C# 参考)](https://msdn.microsoft.com/zh-cn/library/bb383973.aspx) [LINQ 查询表达式(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/bb397676.aspx)