英語で読む

次の方法で共有


コンパイラ エラー CS1942

'clause' 句の式の型が正しくありません。 'method' の呼び出しで型を推論できませんでした。

通常、このエラーは、範囲変数に明示的な型が正しく指定されていない場合に生成されます。

このエラーを解決するには

  1. 範囲変数が明示的に型指定されている場合は、その型が、反復処理するコレクション内の要素と同じ型か、またはその要素の型から暗黙的に変換できる型どうかを確認します。 範囲変数の前に var キーワードが指定されている場合は、var を削除します。

次のコードでは CS1942 が生成されます。

C#
// cs1942.cs  
class Program  
    {  
        static void Main(string[] args)  
        {  
            var x = from var i in Enumerable.Range(1, 100) // CS1949  
                    select i; //CS1942  
        }  
    }  

範囲変数に var を使用すると、var が型ではないことで基になる Cast<T> 操作に失敗するため、CS1942 は CS1949 に関連して発生します。

こちらもご覧ください