ブロックとは
C#をコーディングするエリアは中確固{}で囲みながら書いていくのが基本になります。いくつかのブロックに分かれているので見ていきましょう。
名前空間
まずは名前空間のブロックが一番外側にあります。
using System.Text; namespace Demo { public class CodeA { public void Create() { StringBuilder sb = new StringBuilder(); } } }
この例だと「namespace Demo」から始まる一番外側の{}です。名前空間は名前の衝突(重複)を防ぐためにフォルダー分けのような感覚で命名していきます。
次にクラスブロックがあります。「public class CodeA」で始まる{}です。この中にクラスの機能をコーディングしていきます。
最後のブロックがメソッドといわれるものになります。「public void Create()」で始まるブロックです。C#では基本的にはこのメソッドといわれるブロックの中に処理を書いていきます。
クラス
クラスブロックの中は,そのクラスで使う変数等を宣言できる
クラスブロックの中にはメソッド以外にも色々なことを書くことができます。
例えば変数というものを宣言することができ,クラスブロックで宣言したものは,そのクラスのどこからでも参照できるようになります。
public class CodeA { private StringBuilder sb2 = new StringBuilder(); public void Create() { StringBuilder sb = new StringBuilder(); } public void Create2() { sb2.Append("XXX"); } }
この例で行くとCreateメソッドの中の「sb」はCreateメソッドの中でしか参照することができませんが,クラスブロックで宣言している「sb2」はCreateメソッドからも,Create2メソッドからも参照することができます。
メソッドの中で使い終わるものはメソッドの中で宣言し,クラスの中の複数のメソッドで使用される値はクラスブロックに宣言するというのが基本的な考え方です。
メソッド
メソッドには値を返すものと,値を返さないものがあります。
値を返さない場合はvoid
値を返さない場合は「void」というキーワードを使います。
public void Create() { StringBuilder sb = new StringBuilder(); }
この場合,Createメソッドは処理をした後,何も値を返さないことを示しています。
値を返す場合は型
値を返す場合は,返却する値の型を記述します。
public string Create() { return "XXXXX"; }
この場合は「string」を返却するCreateメソッドになります。「return」キーワードに書かれたXXXXXという文字が返却されることになります。「string」というのは文字列の型になります。メソッドに型を指定した場合,returnキーワードを使って指定した型の値を返却しないとコンパイルエラーになります。
基本的にはすべて{}で囲む
このように,基本的には中カッコ{}の中に,プログラムコードをどんどん書いていくことになります。
冒頭にusingを書くことで名前空間を省略できる
using System.Text; namespace Demo { public class CodeA { public void Create() { StringBuilder sb = new StringBuilder(); } } }
冒頭に書かれている「using System.Text;」はusingキーワードを使って,そのクラスで使用する名前空間を記述しています。これがあると,名前空間の記述を省略できます。
usingキーワードがない場合は,名前空間をフルネームで記述しないとコンパイルエラーになります。
namespace Demo { public class CodeA { private System.Text.StringBuilder sb2 = new System.Text.StringBuilder(); public void Create() { System.Text.StringBuilder sb = new System.Text.StringBuilder(); } public void Create2() { sb2.Append("XXX"); } } }
このように「StringBuilder」というクラスは「System.Text」という名前空間なのですが,冒頭のusingキーワードがない場合はすべての「StringBuilder」に「System.Text」を記述しないといけなくなり,大変ですし,可読性も落ちます。
- C#初心者のための基礎!C#文法2割の知識で8割の仕事をする方法!#1
- C#初心者のための基礎!ブロックと名前空間とクラスとメソッドを解説#2
- C#初心者のための基礎!#3値の扱い方。変数と定数をわかりやすく解説!
- C#初心者のための基礎!データ型の種類と使い分けをわかりやすく解説#4
- C#初心者のための基礎!値型と参照型の違いと使い方をわかりやすく解説#5
- C#初心者のための基礎!データ型の変換のやり方をわかりやすく解説#6
- C#初心者のための基礎!配列の使い方をわかりやすく解説#7
- C#初心者のための基礎!動的配列List<T>の使い方をわかりやすく解説#8
- C#初心者のための基礎!演算子の使い方をわかりやすく解説#9
- C#初心者のための基礎!if文とswich文の使い方をわかりやすく解説#10
- C#初心者のための基礎!while文の書き方と使い方をわかりやすく解説#11
- C#初心者のための基礎!do-While文の書き方と使い方をわかりやすく解説#12
- C#初心者のための基礎!for文の書き方と使い方をわかりやすく解説#13
- C#初心者のための基礎!foreach文の書き方と使い方をわかりやすく解説#14
- C#初心者のための基礎!オブジェクト指向の意味をわかりやすく解説#15
- C#初心者のための基礎!クラスの意味と使い方をわかりやすく解説#16
- C#初心者のための基礎!コンストラクタの意味と使い方をわかりやすく解説#17
- C#初心者のための基礎!アクセス修飾子の意味と使い方をわかりやすく解説#18
- C#初心者のための基礎!メソッドの意味と使い方をわかりやすく解説#19
- C#初心者のための基礎!フィールドの意味と使い方をわかりやすく解説#20
- C#初心者のための基礎!インスタンスの意味と使い方をわかりやすく解説#21
- C#初心者のための基礎!カプセル化の意味と使い方をわかりやすく解説#22
- C#初心者のための基礎!プロパティの意味と使い方をわかりやすく解説#23
- C#初心者のための基礎!Disposeとusingの意味と使い方を解説#24
- C#初心者のための基礎!staticスタティックの意味と使い方を解説#25
- C#初心者のための基礎!継承の意味と使い方をわかりやすく解説#26
- C#初心者のための基礎!override(オーバーライド)の使い方を解説#27
- C#初心者のための基礎!ポリモーフィズムとインタフェースの使い方を解説#28
- C#初心者のための基礎!ポリモーフィズムと抽象クラスの使い方を解説#29
- C#初心者のための基礎!例外Exceptionの意味と使い方をわかりやすく解説#30