Re:ゼロから始めるC#

C#を突然仕事で使うことになった人

JavaばっかやってましたがC#を使うことになったので備忘録的に…なんて日もあった

C#を始めるにあたって

ブログタイトルにもある通りC#についての知識は0です。
そもそもC#ってなんなん?というレベルなのでまずはそこから調べて例のHello Worldするまでやってみました。

C#とは

CってつくくらいだからC言語の進化系なのかなーと思ってましたがとりあえず調べます。
同じ開発のO谷さんもよく「今の時代は調べりゃなんでも出るから超便利」って言ってるので調べます。
素直な人間なので検索ワードに「C# とは」を設定しLet's Google!
すると当然たくさん出てくるんですが超わかりやすく言うとこんな感じです。

みたいなことがよく書かれていました。
とはいえよくわからなかったのでもう少しだけ調べました。

JavaC++のいいとこどり言語

何がいいとこどりなのかはいろんな人がかいているので興味があれば見てみてください。
そんなことより自分にとって大事なのは、C言語なんてやってないしJavaしかほとんどやってこなかったけど理解できるん?ってところです。
ファイル読み込みをするサンプルコードがあったので見てみました。

using System;
using System.IO;
namespace ConsoleApplication1
{
     class Program
    {
        static void Main(string[] args)
        {
            string path = @"c:\work\test.csv";
            using (var reader = new StreamReader(path, System.Text.Encoding.GetEncoding("shift_jis")))
            {
                string line = null;
                while ((line = reader.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}

…あっ…ちょっと知らない記述もあるけどなんとなく理解できる!
他のソースも見てみましたが大体わかりそうです!
わからないところについてはこれから勉強していきます。

.NET Framework上で動作する

.NET Frameworkってのはなんとなく知っていたんですけど一応調べてみました。
自分の認識では、Windowsのアプリを動かすときに必要なやつくらいの認識でしたがまぁざっくりいうとこれであってました。
多分今回のプロジェクトでC#が採用されたのはWindowsGUIアプリを作成するからだと思います。
とにかくGUIのWindow作成とかが楽らしいです。
以前Go言語でGUIアプリを作成したときライブラリの不具合とかでそこそこ苦しんだので楽しみです。

でもWindowsじゃなくても動く

あれ?さっき .NET Framework上で動作するって言ったよね?いきなり嘘つくことある?
ってなりますよね。わかります。
どうやら「Mono」という「.NET Framework」互換環境がフリーで提供されているらしいのでMacとかでも動くらしいです。
ただやはりOS間の問題というか不具合があるのも否めないようです。
まぁ今回はWindowsでしか使わないので自分としてはどうでもいいといえばどうでもいいところ。

よし、さっそくHello Worldしようぜ

はい、というところでざっくりC#についてわかったので早速Hello Worldしてみよー
と、思ったんですがIDEのインストールに時間かかってるのと文字打つのにつかれたので次回にします。

ちなみにIDEはVisualStudioが良い!とのことだったのでVisualStudioを使います。
docs.microsoft.com

今までJavaの開発はEclipseVSCodeでやっていたのでこれもまた初めてです。。。
調べることいっぱいですが頑張りたいと思います。