Contenu connexe
Similaire à C# と .NET と ・・・ (20)
Plus de ShinichiAoyagi (15)
C# と .NET と ・・・
- 2. • 青柳 臣一(あおやぎ しんいち)
@ShinichiAoyagi
http://shinichiaoyagi.blogspot.jp/
• 職業 C# やら VB やら WPF やらでソフトウエア開発
最近はスマホとか
あと PHP + MySQL で SNS 作ったり
自己紹介
- 5. • Common Language Runtime
– 共通言語ランタイム
– CLI(Common Language Infrastructure、共通
言語基盤)のマイクロソフトの実装
• CLI
– 仕様はオープン
(ECMA-335、ISO、JIS)
– CPU や環境に依存しない
CLR(2)
- 7. • Base Class Library
– 基本部分のクラスライブラリ
•String とか Int32 とか
– CLI に規定されている
– ただ「ここまでが BCL」という明確な定義は
無いかも
BCL (2)
- 8. • IL(中間言語)
– コンパイラが作るのは IL
– オブジェクト指向風味なマシン語って感じ
• JIT Compiler
– Just In Time
– 実行時に IL をコンパイル
– ngen.exe(インストール時コンパイル)
IL と JIT Compiler
- 10. C# と .NET Framework
C# .NET Framework CLR
2002年 1.0 1.0 1.0
2003年 1.1
細々と修正・追加
1.1?
2005年 2.0
partial class、ジェネ
リックス、Nullable
2.0
大幅バージョンアップ
2.0
ジェネリックス、Nullable、
64bit
2006年 3.0
WPF、WCF、WF
2007年 3.0
var、拡張メソッド、
ラムダ式
3.5
LINQ
2010年 4.0
dynamic
4
DLR
4
dynamic、チューニング?
2012年 5.0
await/async
4.5 4.5
WinRT、チューニング?
- 11. • 参照型と値型
– ReferenceType と ValueType
– class と struct
– ヒープとスタック
• GC(Garbage Collection)
– 不要なメモリのゴミ集め
• アンマネージリソースの管理
– IDisposable
C# と .NET Framework の基本機能
ピックアップ (1)
- 12. • foreach
– 実は C# コンパイラがいろいろやってます
•実は IEnumerable でなくてもいい
(GetEnumerator メソッドがあればそれを
呼んでくれる)
•Enumerator が IDisposable なときは
Dispose を呼んでくれる
C# と .NET Framework の基本機能
ピックアップ (2)
- 13. • ジェネリックス
– List<T>
• ヌル許容型
– Nullable<T>
• 実はランタイムでいろいろやってます
– int?、double?
– ヌル結合演算子(??)
C# と .NET Framework の基本機能
ピックアップ (3)
- 14. • unsafe
– メソッドにつける、ブロックで囲む
– コンパイラに /unsafe が必要
– ポインタが使える
– fixed
– stackalloc
• checked、unchecked
– unchecked { var i = (uint)-1 };
C# と .NET Framework の基本機能
ピックアップ (4)