1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ネットに転がっているC#のサンプルコードがコンパイルできないときの主な要因

Last updated at Posted at 2019-11-24

※個人の感想です。
千差万別なので解決策は書いていません。というより書けない…

1.コードが断片である

1-1. Main関数がない

static void Main(string[] args)とかがない。

1-2. usingディレクティブがない

using System.なんとか.かんとか;がない。不足している。

1-3. Visual Studio前提のコード

Visual Studioで作成したコードの一部しか載せていない場合。
partial classとかInitializeComponentとかを使っているのはこのケースが多い。

2. 新しめのC#バージョンの機能を使用している

C#のバージョンごとの機能は、ここが詳しい。
https://ufcpp.net/study/csharp/

古いバージョンへのポーティング手法
https://ufcpp.net/study/csharp/cheatsheet/listfxlangversion/

タプル(Tuple)とか?.とか??=とか$"{X}"とか使ってたらバージョンによるものかもしれない。

3.コンパイルしていないコードが置かれている

あまりないけど、まれに。
コンパイルしたあとに修正したりして、コンパイル通らなくなったコードになってたり。

4.参照設定が必要なのに言及がない / ライブラリのバージョンが合わない

説明が書かれているケースが多いが、環境が違うとハードル高い。

Appendix. コンパイルはできるが挙動がおかしい場合

環境差によるもの / コード起因のもの

  • プログラムの入出力の文字コードがあっていない。
  • ソースコードの文字コードがあっていない。
  • コンパイルオプションがあっていない。
  • 64bit / 32bitを考慮していないコードになっている。
  • Main[STAThread]がついていない。

あたりを疑う。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?