次の方法で共有


コンパイラ エラー CS0075

更新 : 2007 年 11 月

エラー メッセージ

負の値をキャストするには、値をかっこで囲んでください。

定義済みの型を指定するキーワードを使ってキャストしている場合、かっこは不要です。それ以外の場合は、かっこを指定する必要があります。(x) –y はキャスト式とは見なされません。以降、C# 仕様のセクション 7.6.6 からの抜粋です。

あいまいさを排除するという観点から、x と y が識別子の場合、(x)y、(x)(y)、および (x)(-y) はキャスト式と見なされますが、(x)-y は x で型が指定されていたとしてもキャスト式とは見なされません。ただし、x が定義済みの型 (int など) を示すキーワードである場合は、このようなキーワードがそれ自体で式になることはないため、4 つの形式はいずれもキャスト式と見なされます。

次のコードでは、CS0075 エラーが生成されます。

// CS0075
namespace MyNamespace
{
    enum MyEnum { }
    public class MyClass
    {
        public static void Main()
        {
            // To fix the error, place the negative
            // values below in parentheses
            int i = (System.Int32) - 4; //CS0075
            MyEnum e = (MyEnum) - 1;    //CS0075
            System.Console.WriteLine(i); //to avoid warning
            System.Console.WriteLine(e); //to avoid warning
        }
    }
}

参照

参照

キャストと型変換 (C# プログラミング ガイド)