2019-09-21に更新

C#名前一覧☆(^~^)<初級者向け><書きかけ>

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Unityでゲーム作ってる連中で、 ゲームを作ることはできるが C# の 文法 分かんね、投ーげた、とか言ってるやつ いるだろ☆
下記のWebサイトで 50時間ぐらい C# を学習するのがベストだが そんなんやってられね、というやつのために☆」

連載  改訂版 C#入門

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 即効性のある方法を教えてやろう☆ 物の名前を覚えることだぜ☆
そして グーグル検索に 物の名前 is fail. とか 物の名前 is not work. と入れて検索しろ☆」

20190921cs1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 こんな感じで C#プログラムを眺めているとしよう☆ 今回はC#の文法に範囲を絞って 説明する☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 寝てればいいのに……☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 あんたは Rust 使いでしょ! Unity や C# なんかやってないで コンピューター囲碁作ってればいいのに!」

Using directive; ユージング ディレクティブ

20190921cs2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なんか呪文で これは書くことが決まってるから 書いてる、とか そんなんだろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 使い方のチップ(小ネタ)としては☆」

20190921cs3a1b1.png

using Diag = System.Diagnostics;
      ^^^^^^
      Alies

### Omitted.

Diag.Trace.WriteLine($@"Test 1          | {value}");
^^^^^^^^^^

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 名前が被っていた場合 エイリアス(Alies; 別名)を付けることで 区別することができる☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 しかし気になるな……☆」

20190921cs4a1b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 特にこだわりがなければ コード分析から Microsoft のすべての規則 を選べだぜ☆」

Namespace declaration; ネームスペース デクレーション

20190921cs5a1b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 みな Microsoftからの推奨事項がないと思って 適当にネームスペースを使っているが まあ いいだろう☆
Microsoftは 特別扱いなんで推奨事項を使わないし、みな Microsoft のサンプルを真似るから 誰も推奨事項があることを知らない☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 別の言語では Using declaration (ユージング・デクレーション) と呼んだりする☆
directive (ディレクティブ; 指令)は そこに行ってこい、という意味で、 declaration (デクレーション; 宣言)は ここはどこなんだ、という意味だぜ☆」

20190921cs6a1b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 declaration (デクレーション) は わたしが決める という意味なんで、勝手に付けることができる☆」

Class; クラス

20190921cs1a3b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 クラスも最初は 呪文でいいだろう☆ いろんな種類がある☆」

20190921cs7a2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 分かんなかったら public class でゴリ押し しろだぜ☆ たまに失敗すると思うが なんとかしろ☆」

20190921cs8a1b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 クラスは Visual studio 2019 のデフォルト設定では 青緑色 をしているので、感じろだぜ☆」

Method; メソッド

20190921cs1a4b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なんかもう全部 呪文だよな☆ お前ら丸暗記かだぜ☆? これはメソッド(Method)☆
関数(function)と呼ぶやつもいる☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 体系的に スパシファケイション(specification)を 50時間かけて読むか、
そんな初動時間を取らずに 経験でやるかの トレードオフだな☆」

20190921cs1a4b2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 とくに この部分を メソッド・シグネチャー(Method signature)と呼ぶぜ☆」

Field; フィールド

20190921cs9a1b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なんか こういうやつを フィールド(Field)と言うが、 フィールドの元の意味を知ってると 違いが分かるので 説明する☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 表面だけ 丸暗記でいいのに……☆」

20190921cs10a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 支配者がいて、その支配者が支配している土地を Domain(ドメイン; 領域)と呼ぶ☆
飛び地があったり、拡大したり 侵略されたりして 時系列に並べてみると 特定の形を保っていないのが ドメイン だぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 上が北として、北西の方はモンスターが住んでそうだな☆ こんなところに うまみ はない☆」

20190921cs10a2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 使える土地を見ろだぜ☆(^~^)
そして その使える土地のうち、 使い方を決めてしまったところ がフィールドだぜ☆m9(^~^)」

KIFUWARABE_80x100x8_01_Futu.gif
「 そうか☆」

20190921cs9a1b2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 height(ハイト; 高さ)とか、 address(アドレス; 住所)とか名前が付いてるだろ☆
ここに 体重とか 人の名前を入れたら死刑な☆」

Property; プロパティ

20190921cs9a2b1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 こいつらが Property(プロパティ)な☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 フィールドとの違いが分からん……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 Property(プロパティ)は Interface (インターフェース)になったり、ならなかったりすることもできるが、
Field (フィールド)は インターフェースになれない☆
その違いを説明していこう☆」

20190921cs10a6.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 別のドメインから 客がやってきたとするぜ☆ そして グレープ が食べたいと しきりに言っていたとしよう☆」

20190921cs10a5.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 うちの領土なら グレープ、りんご、バナナ がある、というのが Interface(インターフェース)だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 いや、ぶどう も バナナ も無かったのでは☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 いや、あることにしてるんで☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 何の茶番なのよ!」

20190921cs10a7.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 自分とこに なければ 別のドメインから取り寄せてもいい☆
客は グレープが欲しいと言ったら、欲しいんだぜ☆ 商人はグレープを出すしかない☆ 大人は そんな戦い方をすることがある☆
InterfacePropertyオブジェクト指向プログラミング から来た用語であり、
オブジェクト指向プログラミング の秘訣は 中身がどうなってるか知ってなくても使える ことだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 それに比べ Field は即物的だぜ☆ あるところからしか 取れない☆」

20190921cs9a3.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 だから フィールド と プロパティ の間には 目に見えない大きな境界線があり、ルールが違う☆
手続き型言語世代(Procedure)と オブジェクト指向プログラミング世代(OOP)ぐらい違う☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 どうでもいい……☆」

Control syntax; 制御構文

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 よく出てくるやつだけ やるかだぜ☆」

if, else if, else statement; if ~else if ~ else 文。イフ文。エルスイフ文。エルス文。

20190921cs11a1b1.png

if (age < 11)
{
    Trace.WriteLine("Age             | 11未満。");
}
else if (age == 11)
{
    Trace.WriteLine("Age             | 11。");
}
else if (age == 12)
{
    Trace.WriteLine("Age             | 12。");
}
else
{
    Trace.WriteLine("Age             | 12以上。");
}

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 むずかしい書き方が分からなかったら 分岐 は イフ・エルスイフ・エルス文 で何とか やりすごせだぜ☆」

switch statement; スイッチ文。

20190921cs12a1b1.png

var kind = 4;
switch (kind)
{
    case 0:
        Trace.WriteLine("Kind            | ゼロ。");
        break;
    case 1:
        Trace.WriteLine("Kind            | イチ。");
        break;
    case 2: // thru.
    default:
        Trace.WriteLine("Kind            | ソノタ。");
        break;
}

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 分岐 は スイッチ文 でも書けるものがある☆」

おわり

Introduction

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 キリ がないよな☆ ↑仕様書 勝手に読んでりゃよくね?」

KIFUWARABE_80x100x8_01_Futu.gif
「 もう飽きたか……☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 プログラミングの背景事情だけ押さえて、文法は 必要になったつど検索して 経験的に覚えるのが よくない?」

<おわり>

ツイッターでシェア
みんなに共有、忘れないようにメモ

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント