C#の学びなおし1 C#はなにものか?
ある日、私は、新栄町のきれいなビルの4階におりました。
とある、AI活用パッケージの販売ベンダーに興味を持ち面談してもらえることになったためです。
C#の理解度をはかるために質問されましたが、
結果は0ポイント。後日、もちろん落選結果の通知がありました。
ここでは、この質問を思い出しながらC#は何者か?という謎を探りたい。
c#に関する面接官の質問
「構造体を説明できますか」
「ガベージコレクションを知ってますか」
「プロパティと普通の変数の違いは」
「引数の値わたしと参照わたしの違いは」
「ref と outの使い方は」
とても詳しく解説されているこのサイトを本日は読んで理解を深めることに。
なんなん、、意味わからんがや・・・・
正直いいまして、意味わからなすぎて読む意味がないレベル、、、汗
「仮想メソッド、オーバーライドメソッド、及び抽象メソッド」
から読むのやめてしまいました。m(__)m
やっぱ、あたしには向いてないかもしれない・・・
とはいえ、なんとなくわかったつもりでいってみますか?・・・・
と思っていたら。私にも解読できるサイトを発見
なんや!こういうことか!!!まぁ8割理解できた^^
https://csharp.sevendays-study.com/day7.html
C#のポイント(property変数について)
アクセス修飾子
public | パブリック | どこからでもアクセスできる。 |
---|---|---|
protected | プロテクティッド | 同一クラスか、そのサブクラスからしか呼び出せない。 |
internal | インターナル | 同一のアセンブリ(DLL)内でアクセスが可能。 |
protected internal | プロテクティッドインターナル | protected かつ internal。 |
private | プライベート |
同じクラス内からしか呼び出せない。 |
このなかで、
外部からの隠蔽が常識なのでC#では
「private」を基本的に利用する。
だがしかし、これにより外部クラスからのアクセスができない。
よって、
property変数のセットを外部から実施するために
読み込み(get)書き込み(set)演算子を利用して
値の受け渡しをする方法をとる、ということです。
public string Name
{
set { name = value; }
get { return name; }
}
または、省略して
アクセス修飾子 型名 プロパティ名
{
set; get;
}
のように、外部からの値のセットを可能とする方法がある!
私のレベルであっても、
2日間で内容が易しくサンプルコードを容易に理解できました。
基本的な理解はこれで充分だと思います。
https://csharp.sevendays-study.com/index.html
構造体についての理解はこの記事が秀逸です。
結局は「クラス」との処理速度と制限、仕組みの違いが説明できることが求められていたと考えられます。
第5章 C#のデータ型 5-6 値型と参照型
https://www.atmarkit.co.jp/ait/articles/0209/18/news001_3.html
先生や参考書の大事さが身に染みてわかりました。
そして、私にもプログラム、できる気がしました~^^ ♩
就活がんばろ!
以上。