C#競技プログラミング入門以前
本記事では、C#競技プログラミング初心者だったころの私が入門する前に悩んでいた情報をまとめておきます。 内容に関しては、最適解とは限らない点はご容赦ください(もっとよい方法があれば教えて下さい)。
はじめに
C#で競技プログラミングする上で役に立つ情報は以下のページにまとまっています。 中級者以上の皆様はこちらへどうぞ。
C#で競技プログラミングを始めるべきか
強いこだわりがあれば止めませんが、C++にしたほうが無難。 標準ライブラリが貧弱(priority queue すらない)なうえ、ICPC等では使えません。
とはいえ、Visual Studio のサポートを受けながらのコーディングは快適だと思います。 C#競技プログラマで強い人としては、@chokudaiさんが有名です。 競技プログラミング関連の情報やユーザーは他言語に比べて少ないですが、頑張っていきましょう。
環境構築
Windowsの皆さんは、何も考えずにVisual Studioを入れましょう。 特にこだわりがなければ、最新のVisual Studio Community で大丈夫です。 途中でオプションでインストールするものを選択しますが、こちらはお好みで。 C#競技プログラミングにおいては、最低限の構成でも必要な機能はインストールされるはずです。
Mac/Linuxの皆さんは、Windowsを買って自分で頑張ってください。
プロジェクト作成
ここからは最近の私の流儀を紹介する形になります (現在進行形で悩んでいるところなので、ほかのC#使いの皆さんの流儀も知りたい)。
最近は、コンテストごとにソリューションを作成し、問題ごとにプロジェクトを作っています。
具体的な手順は以下。
ファイル>新規作成>プロジェクト
テンプレート>Visual C#>Windows で「コンソール アプリケーション」を選択。 名前や場所、ソリューション名を適当に設定し、OKをクリック。
これでソリューションが作成され、その下にプロジェクトが作成されます。
あとはプログラムを書いていくだけです。
さらにプロジェクトを追加する場合は、 ファイル>追加>新しいプロジェクト
テンプレート>Visual C#>Windows で「コンソール アプリケーション」を選択。 名前や場所を適当に設定し、OKをクリック。
これでプロジェクトを増やせます。どんどん問題を解いていきましょう。
コーディング
IntelliSense(Visual Studio の補完機能)をガンガン活用しながら書いていきましょう。
基礎の基礎は下のgistが参考になるかと。
この記事で説明しなかったこと
まとめ
とりあえずやってみよう!と言いたいところですが、 なかなか一歩を踏み出せなかった過去の自分へのアドバイスでした。
これをきっかけに、新たなC#競技プログラマが出てきてくれれば嬉しいです。
プロの皆様からの有益情報も絶賛募集中です。