【C#エラー】演算子 ‘××’ を ‘○○’ と ‘○○’ 型のオペランドに適用することはできません。解決方法【CS0019】

C#,エラー/例外

「演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません」コンパイルエラーの解決方法

C#で発生するエラー
CS0019: 演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません。

上記コンパイルエラーが発生した時の解決方法をご紹介します。

下記にC#で発生する例外処理の一覧をまとめていますので解決できない場合は合わせてご確認ください。
⇒例外処理クラス一覧まとめ【原因と解決方法】

C#のおすすめ講座を受講して、最短1週間でC#をマスターしよう!
⇒C#が学べるおすすめプログラミングスクール&オンライン講座11選

C# 演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません。の原因

CS0019: 演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません。
のコンパイルエラーの原因は
演算子の左辺と右辺のデータ型が不正
だからです。


エラーコードの例を見て具体的に確認してみましょう。

bool result = true;
if (result > 0) //CS0019エラーが発生する。
{
    
}

上記コードの「if (result > 0)」でCS0019エラーが発生。

「CS0019: 演算子 '>’ を 'bool’ と 'int’ 型のオペランドに適用することはできません」


「if (result > 0)」で、演算子「>(だいなり)」の左辺にbool型変数result、右辺に整数0を設定しています。
この場合bool型変数とint型整数0を演算子(>)で比較することになります。

しかし、bool型変数とint型変数を比較することはできません。

このように、演算子の左辺と右辺に不適切な組み合わせを設定するとCS0019エラーが発生します。

もう一つ例を見てみましょう。

string s = "文字列";
float f = 100 - s; // CS0019エラーが発生

この例でも同様にCS0019エラーが発生します。

「CS0019: 演算子 '=’ を 'int’ と 'string’ 型のオペランドに適用することはできません」

演算子「=イコール」に対して左辺がfloat型変数、右辺がstring型変数となっており、右辺と左辺のデータ型が違うため、エラーが発生しています。

このように演算子の左辺と右辺のデータ型が不正の時にエラーが発生します。
頻繁に発生するエラーのため注意しましょう。

CS0019の詳細はこちらから。

C# 演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません。の解決法

CS0019: 演算子 '××’ を '○○’ と '○○’ 型のオペランドに適用することはできません。のエラーを解決する方法をご紹介します。

演算子の左辺と右辺に同じデータ型を設定する

CS0019エラーは、C#演算子の左辺と右辺に同じデータ型の値を設定することでエラーは解消されます

bool result = true;
int i = 1;
if (i > 0) //CS0019エラーが解消される。
{
    
}

上記のようにint型の変数を用意し、「if (i > 0)」演算子の左辺と右辺のデータ型を合わせるとエラーが解消されます。

演算子の正しい使い方例
int型変数 =(代入演算子) int型変数
String型変数 ==(等価演算子) String型
double型変数 > 2.2

以上の例のように、演算子の左辺と右辺のデータ型は合わせましょう

string s = "文字列";
float solution = 10;
float f = 100 - solution; // CS0019エラーが解消される。

代入演算子「=」の左辺と右辺でも同様にエラーが解消されます。

データ型についての詳しい説明はこちら



エラーを解決できなくて途方に暮れている人へ。

■無料プログラミング講座を開設しています!
下記にVisual Studioを使ったC#プログラミング初心者向け完全ガイドを掲載しています。

このガイドを一通り勉強すれば、C#プログラミングの基礎が学べます。
是非チャレンジしてみてください!

C#初心者向けに始め方ガイドを作成しています。
筆者

プログラミング初心者の方はぜひチャレンジしてみてください!!

C#,エラー/例外

Posted by 9noike