Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gushwell committed Feb 16, 2019
0 parents commit 6e67650
Show file tree
Hide file tree
Showing 409 changed files with 56,247 additions and 0 deletions.
138 changes: 138 additions & 0 deletions 01CSharpEntry/No001.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
┏━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓
┃☆┃ C#プログラミングレッスン -- 入門編 -- ┃_┃□┃×┃
┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┛
− 創刊号 −
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 初めてのC# 2004/08/18
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■──────────────────────────────────
■ 今日のプログラム

第一回目の今回は、プログラミングの入門ではお馴染みの、Hello world アプ
リケーションを見てみましょう。

◆プログラムコード

1: // Hello クラスの定義です。
2: class Hello {
3: // Mainメソッド:ここからプログラムが始まります。
4: public static void Main() {
5: System.Console.WriteLine("Hello, C# World!");
6: }
7: }

※先頭の「数値:」は説明用ですので、プログラムの一部ではありません。

# このプログラムを実際に動かすには、IDEで、「新しいプロジェクト」で、
# 「コンソールアプリケーション」を選び、プロジェクトを作成します。IDE
# が生成するコードは、全て削除し、1行目から、7行目を新たに入力してく
# ださい。


◆結果
このプログラムの結果は、コンソール画面に以下の文字列が表示されます。

Hello, C# World!


■──────────────────────────────────
■ プログラムの解説

この小さなプログラムの中にも、C#の色々な特徴が見てとれます。それを順に
見ていきましょう。

◆コメント
1行目と、 3行目は、コメントです。// で始まり、そのソース行の行末までが
コメントとなります。
コメントは、プログラムの動作には影響がありません。プログラムを分かりや
すくするための備忘録のようなものです。

◆class
classは、「クラス」というものを定義するためのC#のキーワードなのですが、
現時点では、そういったものが必要なんだ程度の理解でかまいません。なお、
classキーワードの右側には、クラスの名前を記述します。この名前(Hello)
は、プログラマが自由に付けてかまいません。

class Hello は、2行目の行末にある { に対応する 7行目の } までが、その
範囲です。この例では、class の中に、Mainメソッドを定義しています。

◆Mainメソッド
4行目から 6 行目がMainメソッドと呼ばれているものです。
「メソッド」とは、プログラムの一連の処理が記述された処理単位のことです。
通常のプログラムでは、いくつものメソッドが存在しますが、今回は小さな
プログラムですので、Mainメソッドだけを定義しています。

C#では、このMainメソッドから、プログラムが開始されます。今回のプログラ
ムでは、5行目を実行して終了となります。

# Main() の前に書かれている、public static void は、今のところは、決
# まり文句だと思ってください。これを説明するには、クラス、メソッド、
# アクセシビリティ レベル、 インスタンスメソッドとクラスメソッドの違
# いなど、様々なことを説明しなければなりません。これらの説明は、もう
# 少し回を重ねる必要があります。

◆System.Console.WriteLine
5行目が、 コンソール画面(正確には、標準出力ストリーム)に文字列を出力
しているコードです。この System.Console.WriteLine は、C#の文法に用意さ
れているものではなく、.NET Framework側に用意されている機能で、C#から呼
び出していることになります。
括弧の中に記述した文字列がコンソール画面に出力され、続けて改行コードが
出力されます。つまり、

System.Console.WriteLine("おはよう");
System.Console.WriteLine("こんにちは");

とすれば、 "おはよう" の次の行に、"こんにちは"が出力されることになりま
す。

◆文字列
C#の文字列は、"hello" のように 0 個以上の文字を二重引用符で囲んで指定
します。 2重引用符自体は、文字列の一部ではありません。このプログラムを
実行して見ればわかりますが、 " は、表示されません。
""と書けば、何も無い文字列(空文字列)となります。


■──────────────────────────────────
■ 補足事項

◆大文字と小文字は区別される
C#では、C言語、Javaなどの言語と同様、大文字と小文字が区別されます。
Main と main は別ものですし、class と Class も別物として扱われます。で
すから、5行目を

5: system.console.writeline("Hello, C# World!");

と書くと、コンパイルエラーとなってしまいます。

◆もうひとつのコメント
C#では、もう一つにコメントを用意しており、/* で始まり、*/ で終わります。
こちらのコメントは、 // で始まるコメントとは異なり、以下のように複数行
にわたることができます。

/*
今日から、C#の勉強を開始します。
これは、コメントです。
*/

◆文字列の中に " を含めるには
文字列の中に、" を含めたい場合には、

"文字列は、¥"で囲みます"

のように、¥" で指定します。¥ そのものを含める場合には、¥¥と¥をふたつ
続けます。


■■───────────────────────────────■■

さて、今回の説明はこれで終わりです。「そんなことわかっているから、もう
少し高度な内容をやってほしい」と感じた読者の方もいるかと思いますが、
「C#は初めて」という方も対象としていますので、ご了承ください。

=====================================================================
・当メールマガジンへのご意見、ご要望は、gushwell@infoseek.to までお願
いいたします。
・メールマガの解除はこちらのページから http://www.melma.com/taikai/
「C#プログラミングレッスン」id:m00120830
=====================================================================
151 changes: 151 additions & 0 deletions 01CSharpEntry/No002.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
┏━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓
┃☆┃ C#プログラミングレッスン -- 入門編 -- ┃_┃□┃×┃
┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┛
− No.002 −
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ C#で変数を使うには、 2004/08/24
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■──────────────────────────────────
■ 今日のプログラム

今回のプログラムは、プログラミングの重要な概念の一つである「変数」を使
った例です。

◆プログラムコード

1: class Sample1 {
2: static void Main() {
3: string person;
4: person = "山田さん";
5: System.Console.WriteLine(person + "、こんにちは");
6: System.Console.WriteLine(person + "、お久しぶりです");
7: }
8: }

※先頭の「数値:」は説明用ですので、プログラムの一部ではありません。

◆結果
このプログラムの結果は、コンソール画面に以下の文字列が表示されます。

山田さん、こんにちは
山田さん、お久しぶりです


■──────────────────────────────────
■ プログラムの解説

◆変数とは

変数とはプログラムの中で、文字や数値などを入れておく箱のような物です。
この箱には、一つの値しか入りません。またこの箱には、どのような種類の値
が入れられるかが決められています。数値用の箱には、文字列を入れることは
できませんし、文字列用の箱には、数値を入れることはできません。

この変数という箱は、プログラムの中でいくつでも作ることができます。そう
なると複数の変数を特定する必要がでてきます。これを特定するのが変数名で
す。変数に名前を付けて、区別をするわけですね。

◆変数の宣言

変数を宣言しているのは、

2: string person;

の行で、personという名前の変数がstring型であることを宣言しています。こ
のperson変数には、文字列が格納されます。stringは、C# のキーワードとな
ります。
変数の宣言は、<型名>の後に、<変数名> を書きます。

◆代入

次の行で、 変数personに、"山田さん" という文字列を入れています。これを
プログラムの世界では、「代入」と言います。
なお、変数というくらいですから、一度設定した値を後から変更することもで
きます。

person = "山田さん";
System.Console.WriteLine(person + "、こんにちは");
person = "佐藤さん";
System.Console.WriteLine(person + "、お久しぶりです");

◆文字列の連結

5: System.Console.WriteLine(person + "、こんにちは");

の 「peron + "、こんにちは"」の部分は、+ 記号を使い、2つの文字列を連
結しています。5行目と6行目が実行されると、

山田さん、こんにちは
山田さん、お久しぶりです

と表示されます。

もちろん、今回の例では、同じ結果を得るのに、変数を使わないこともできま
すが、変数を使うことで、複雑な処理を簡潔に記述できたり、様々なケースに
対応できるプログラムを書く事ができるようになります。


■──────────────────────────────────
■ 補足事項

◆変数の初期化

C#では、変数の宣言と、初期化を一度に行うことができます。
3行目と4行目を

string person = "山田さん";

とすれば、1行にすることができます。C#では、変数の宣言と初期化を一緒に
行うことが一般的です。変数宣言時に、初期化することを習慣にしておけば、
初期化忘れのようなミスを少なくすることができます。

◆変数名

変数に名前を付けるときには、いくつか守らなければいけない点があります。
まず、変数名を数値や記号で始めることができません。また、記号は、途中に
入れることもできません。ですから、以下のような変数は無効となります。

2nd
%name
next-node

有効な変数名を以下にあげます。

no2
_name
nextNode

・数値は、先頭以外なら使うことができます。
・アンダースコア(_)は、変数名に使うことが許されています。
・C#では、2つの単語をつなげる場合には、2番目以降の単語の先頭を大文
字にすることが一般的です。
なお、next_node と アンダースコアでつなげることもでます。

※「会社名」といった日本語の変数名を付けることもできますが、一般的に
は、利用されていないようです。
これは私見ですが、ソースコードが全世界共通の言語であることを考える
と、日本語の変数名の使用は避けたほうが良いと思います。

また、C#が定めたキーワードを変数名にすることもできません。例えば、

this
byte
object

などといった変数名を付けることはできません。参考までに、C#のキーワード
を以下に示しておきます。

--------------------------------------------------------------------
abstract as base bool break byte case
catch char checked class const continue decimal
default delegate do double else enum event
explicit extern false finally fixed float for
foreach goto if implicit in int interface
internal is lock long namespace new null
object operator out override params private protected
public readonly ref return sbyte sealed short
sizeof stackalloc static string struct switch this
throw true try typeof uint ulong unchecked
unsafe ushort using virtual volatile void while
--------------------------------------------------------------------
Loading

0 comments on commit 6e67650

Please sign in to comment.