自己紹介
こんにちは。tetraです。
最近C#の学習を始めました。C#歴2ヶ月目の新卒エンジニアです。
error CS0266について
学習課題としてコードを書いていた時にハマったポイントについて
Tipsを書いていこうと思います。
発生例
簡単な例として、以下のようなコードを書きます。
CSwork.cs
// x + y を計算するコードusingSystem;publicclassmain{publicstaticshortcalc(shortx,shorty){returnx+y;//error CS0266}publicstaticvoidMain(){Console.WriteLine(calc(1,2));}}この場合、short型で宣言しているにもかかわらず、int型で処理されてしまいます。
解決法
これの処理の仕方を以下のコードで書きます。
CSwork2.cs
// x + y を計算するコードusingSystem;publicclassmain{publicstaticshortcalc(shortx,shorty){return(short)(x+y);}publicstaticvoidMain(){Console.WriteLine(calc(1,2));//3}}どうでしょうか?変わっていないですか?
よくみてください。
calc関数のところがカッコ()で囲まれshort型として明示的に書かれています。
こうすることによって、short型の戻り値を持つ関数を処理することができるようになります。
いかがでしょうか?
いかがでしょうか。経験が浅いため至らぬところがまだまだあります。
もし間違い等に気がつきましたら、コメント又はtetraまでお知らせください。