maxfie1d のブログ

マイクロソフト系技術ネタを中心に書きます。

C#(シーシャープ) って、何?

C#(シーシャープ)というプログラミング言語をご存知でしょうか? 使ったことはありますか?

いま一度、C# について初心者目線でまとめてみたいと思います。

C# って C言語の進化版?

ノーと答えて誤解はないかと思います。 C#は基本的にオブジェクト指向ですし、C言語C++より ずーーっと使いやすく、安全で、今も進化している言語です。

C# は誰が作っている?

C# は、Windows や Office や OneDrive や Azure を提供している Microsoft(マイクロソフト)が最も力を入れて作っている言語です。 そういう意味で Apple(アップル)が作っている Swift というプログラミング言語に似ていますね!

C# は2000年に登場し、2017年現在で バージョン7 まで開発されています。 後方互換生というものを維持しなくてはならないので、後発の Swift ほどモダンではないですが、 現在も新機能を取り入れつつ進化し続けています。

C# の機能

結構モダンな機能を備えています。 以下の機能はぜーんぶ使えます!

  • yield キーワード
  • var キーワード (変数の型名を省略できる)
  • 拡張メソッド (エクステンション)
  • ラムダ式
  • dynamic キーワード (動的型付け変数)
  • オプション引数、名前付き引数
  • ジェネリクス
  • パターンマッチング
  • タプル
  • 値の破棄 (Discards)

C#Java は似ている?

めちゃくちゃ似ています。C#ができる人はすぐ Java に慣れます。逆もまたしかりです。 ただし、C# の方がよりモダンな言語機能をサポートしているように思います。

JavaHello World

public class Main {
    public static void main(String[] args){
        System.out.println("Hello, world!");
    }
}

C#Hello World

namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            System.Console.WriteLine("Hello, World!");
        }
    }
}

C# で何が作れる?

基本的には、Windows 上で動作するアプリケーションの開発に使用されます。 逆に Windows で動くアプリケーションは C# で開発できます。

最近では .NET Core というものが登場したので、実は macOSUbuntu でも普通に動きます。

さらにさらにサーバーサイドにも C# は使えます。Stack Overflow という開発者向け質問サイトは C# メインで開発されているそうです。

ゲームエンジンの Unity でも C# が使えますね!

C# は実はなんでもできちゃうフルスタック言語なのです。

開発ツールは?

Visual Studio という IDE をインストールすれば C# に必要なものが全て揃います!

www.visualstudio.com