見出し画像

#1 「Hello World」C#を分かりたい(プログラミング素人の備忘録)

どうも、最近C#をかじり始めたのでマガジン作って、シリーズぽくしていきたいと思っています。

今回は、C#でHello Worldを表示させていきたいと思います。


前回

注意事項

この記事(今シリーズ)は初心者がC#をかじりながら、備忘録のような形で投稿していく予定です。
そのため、今シリーズ全体を通して正確性を欠く場合もあるかと思います。
また専門の方などから見れば、無茶苦茶なことをしているかもしれませんが、ご容赦ください。

Hello Worldとは

どうやら、プログラミング界隈(?)では一番最初にその言語で*コンソール上で「hello world」という文字列を表示するらしいです。風習みたいなもんですかね。

*コンソール…真っ黒の文字だけのウィンドウ。映画とかでハッカーが使ってるやつ。

プロジェクトの作成(Visual studio)

まずは、コードを書ける状態にしなければいけません。
visual stuidio(以下特記のない場合vsに略)で新しいプロジェクトを開きます。

新しいプロジェクトの作成をクリック。

検索かなんかでコンソールアプリ」(.net frameworkがついてない方)を選択して、次へ。

プロジェクト名にはhelloworldとか入れときましょう。
その他は特にいじらなくてokです。
次へ

フレームワークもデフォルトでいいと思います。(2023/06/05現在では.NET6)
作成をクリックでプロジェクトが作成されます。

少し待つと、2行ぐらい書かれた状態でメモ帳みたいなので出てきますが、消しちゃってok。

あとvsのUIについて超軽く

ちょっとC#の構造について

ぶっちゃけ自分もあんま理解してませんが、C#を記述する際の全体的な構造について説明したいと思います。
とりあえず動かしみたい人は一旦スキップしてもいいかも知れません。

namespace(名前空間)

名前空間とはフォルダのようなものでプログラムを分類するためのものです。同名前空間にあるプログラムは互いに関連性が深い。
{}で囲む。以下の構文

namespace ネームスペースの名前
{
}

class(クラス)

もう少し細かい分け方で、プログラムのまとまった処理の塊。
同じく{}で囲む。

class クラスの名前
{
}

メソッド

これが自分も完全には理解出来てなくて、処理の塊なんですが、クラスよりもっと規模が小さく、プロジェクト内で実装する機能などを分けていく感じだと今(2023/6)は理解しています。
また、詳しいことは次回以降に…
同じく{}で囲む。

static void Main(string[] args)
{
}

最後に一(二)つだけ
Mainとついていますが、これはC#でエントリポイントといってプログラムが実行されたとき最初に実行される場所なので、このメソッド内に主軸となるプログラムを記述していきます。
また、自分で作ったメソッドは呼び出せます。(詳細は次回以降)

コメント機能

プログラムのソースコードには自然言語(日本語とか)でその処理についての説明を付けておくことも出来ます。これはコンピュータは無視してプログラムを実行するため、基本的には何書いても大丈夫です。

//←を文頭につけると、文末までコメント
/*←を先頭に
文末につけると、囲んだ範囲がコメントに(複数行に渡って記入できます。)→*/

Hello World

やっと今回のメインテーマです。

とりあえず、以下のコードをvsに書くかコピペしてください。

using System;

namespace HelloWorld
{
    class Hello
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
       Console.Write("Hello");
            Console.WriteLine("World!");
        }
    }
}

実際に書いた方は驚くかも知れませんが、vsはコードの補完機能が非常に協力で、日本語の予測変換のような感じでコードを書いていけるので慣れると他のツールを使えなくなりそう。

最後まで、記述出来たら赤丸の白抜き三角(デバッグ無しで実行)をクリックします。

そうすると例の真っ黒なウィンドウが開いて以下のようになります。
これはコードを書いてるときにプログラムのテストを出来る機能です。

何をしたのか

まず、メソッドまでの説明は先程軽くしたので飛ばします。

using System;

自分も詳しいことは分からないですが、どうやら以下でSystemという名前空間を使用しますよ、ということを宣言しておくことでConsole.WriteLineと簡潔に書けるようです。正直よくわかんないです。

なんかこれを最初に付けとけば、以下でConsole.WriteLine使うときにSystem.を省略出来るようです。本来はSystem.をつけるようですね。

Console.WriteLine;

Console.WriteLineは何をしたのかということですが、これはコンソールに指定したものを表示するという指示です。
ここで言う指定したものとは文字列でも変数(次回以降説明)のことです。

文字列は今回のようにHello Worldと表示するものですが、""で囲まないといけません。
また変数というものを利用すれば条件などによって表示するものを変更出来ます。

Console.Write;

Lineがつかないと改行されないです。
そのため、次のプログラム(World)がすぐ右に表示されています。

;

これは手続き(先程の指示,ステートメント)の一文の終了に付ける記号です。

まとめ

はたしてこれが備忘録なのかは怪しいですね。
備忘録と言っているのですが、どうしても説明口調が抜けません。
また、次回以降で逃げた話が結構あるのでちゃんと消化していこうと思います。
アウトプットが大事とも言うので飽きない内に頑張ってみます。

次回は、変数をかな~

次回

参考

主に参考にさせていただいた、ウェブサイトや書籍のリンクです。
すべてではないですが、ありがとうございます。
「スラスラ分かるC# 第2版」

「一週間で身につくC#言語の基本」

この記事が気に入ったらサポートをしてみませんか?