7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

はじめてC#の研修を受けてきづいたことのまとめ

Posted at

C#研修のメモ

文法

クラス内value という変数は予約語

Propertyをセットしたときに自動的に利用される
下記の例では

hoge.Channel = 5 

class生成

デフォルトコンストラクタなしでも生成時に引数に値を与えらえる

多重継承できない

基底クラスは多重継承できない
interfaceは多重継承できる

共有メンバ

静的メンバと同様。
staticをつけたもの。
constをつけても共有メンバとなる。
class自体にstaticがつくと、メソッドがすべてstaticである必要がある。

is演算子

2項演算子で2つの型に互換性があるかどうかを判定する
クラスが同じかサブクラスだと制となる

typeof演算子

型そのものを変数にするのに利用する

delegate

プロトタイプ宣言をdelegate
C#ではdelegateという文法を導入して、シグナチャの一致しない関数が代入された場合にはコンパイルエラーする仕組みがある

delegat void MyDelegate(sting ss);
MyDelegate myfunc;

上記にて戻り値はvoid、引数はstring1つという情報である。
MyDelegateという型の定義となる
引数、戻り値をチェックする仕組みはdelegateである。
delegateと考えず、戻り値が何で引数が何か、と考えると理解しやすい。

拡張メソッド

public static string ToZenkaku(this string str)

Stringクラスに対してメソッドを追加したいので、ToZenkakuとなる

ラムダ式

型推論してくれるから型を書く必要がない
ラムダ式は明示的にreturnしなくても式単体であれば計算結果を戻してくれる
これを渡すことによって、外部から処理をカスタマイズできる

研修資料のP.106が分かりやすい
BeginInvokeの引数はDelegateである。
そこで、ラムダ式Actionを渡すことで、BeginInvokeの処理を制御できる。

##Merit

  • 思考が中断されない
  • ラムダ式の外部で宣言した変数をラムダ式内で参照できる

LINQ

IEnumerableというインタフェースに対する操作を提供するもの
(IListSource)

LINQを使えば簡単に走査処理が記述できる

Select句

複数プロパティを保持するデータをLINQで戻すとき、匿名クラスが生成され、
varを利用したコードしかかけなくなる。
しかし、プロパティへの参照とは問題なく行うことができる。
varが利用できるのはローカル変数のみ

##merit
-無駄なqueryをしない 研修資料p.55
-型推論してくれるから、簡単にオブジェクトの集まりを作成できる

#非同期処理

Assync Completed

Assyncがついているメソッドは、それが終わったらCompletedがついている関数が
呼ばれる

  • Assyncメソッドが用意されているオブジェクトは、それをそのまま使う
  • 用意されていない場合は、BackGroundWorkerの仕組みを利用する
    RunworkerAssyncをcallすると、DoWorkが呼び出される

Threadクラスのコンストラクタを確認するとThreadStartデリゲートが必要とある。
この時点で構えてしまうが、ThreadStartデリゲートのHelpを確認するとvoid voidの deletegaと記載されている。

# まとめ

  • 今までC++位しかまともに実装したことがなかったが、C#の文法の拡張性や、インテリセンスの賢さにくらくらした。
  • 研修の内容をまとめるの難しい。こういった形で残すことを意識して物事に取り組むとアウトプット変わってきそう。
7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?