コンパイラ エラー CS0077
as 演算子は参照型または null 許容型で使用してください ('int' は null 非許容の値型です)。
as 演算子に 値型が渡されました。 as
は null を返すことがあるため、これに渡すことができるのは、参照型か null 許容値型だけです。
ただし、パターン マッチングを is 演算子と共に使用すると、型チェックと割り当てを 1 つのステップで直接実行できます。
次の例では CS0077 が生成されます。
C#
// CS0077.cs
using System;
struct S
{
}
class M
{
public static void Main()
{
object o;
S s;
o = new S();
s = o as S; // CS0077, S is not a reference type
// Use pattern matching instead of as
if (o is S sValue)
{
s = sValue;
}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。