C# と .NET と ・・・

1,463 views

Published on

C#の素晴らしさを語る会 2013/10/12(土)のセッション資料です。

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,463
On SlideShare
0
From Embeds
0
Number of Embeds
617
Actions
Shares
0
Downloads
17
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

C# と .NET と ・・・

  1. 1. 青柳 臣一 @ShinichiAoyagi C# と .NET と ・・・ C#の素晴らしさを語る会 2013/10/12(土)
  2. 2. • 青柳 臣一(あおやぎ しんいち) @ShinichiAoyagi http://shinichiaoyagi.blogspot.jp/ • 職業 C# やら VB やら WPF やらでソフトウエア開発 最近はスマホとか あと PHP + MySQL で SNS 作ったり 自己紹介
  3. 3. • アンダース・ヘルスバーグのサイン入り ちょっと自慢 サイン入り C# 2.0 本 サイン入り ケース
  4. 4. CLR(1) microsoft.com より
  5. 5. • Common Language Runtime – 共通言語ランタイム – CLI(Common Language Infrastructure、共通 言語基盤)のマイクロソフトの実装 • CLI – 仕様はオープン (ECMA-335、ISO、JIS) – CPU や環境に依存しない CLR(2)
  6. 6. BCL (1) microsoft.com より
  7. 7. • Base Class Library – 基本部分のクラスライブラリ •String とか Int32 とか – CLI に規定されている – ただ「ここまでが BCL」という明確な定義は 無いかも BCL (2)
  8. 8. • IL(中間言語) – コンパイラが作るのは IL – オブジェクト指向風味なマシン語って感じ • JIT Compiler – Just In Time – 実行時に IL をコンパイル – ngen.exe(インストール時コンパイル) IL と JIT Compiler
  9. 9. • C# 言語仕様 – ECMA-334、ISO、JIS C# もオープン
  10. 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. 11. • 参照型と値型 – ReferenceType と ValueType – class と struct – ヒープとスタック • GC(Garbage Collection) – 不要なメモリのゴミ集め • アンマネージリソースの管理 – IDisposable C# と .NET Framework の基本機能 ピックアップ (1)
  12. 12. • foreach – 実は C# コンパイラがいろいろやってます •実は IEnumerable でなくてもいい (GetEnumerator メソッドがあればそれを 呼んでくれる) •Enumerator が IDisposable なときは Dispose を呼んでくれる C# と .NET Framework の基本機能 ピックアップ (2)
  13. 13. • ジェネリックス – List<T> • ヌル許容型 – Nullable<T> • 実はランタイムでいろいろやってます – int?、double? – ヌル結合演算子(??) C# と .NET Framework の基本機能 ピックアップ (3)
  14. 14. • unsafe – メソッドにつける、ブロックで囲む – コンパイラに /unsafe が必要 – ポインタが使える – fixed – stackalloc • checked、unchecked – unchecked { var i = (uint)-1 }; C# と .NET Framework の基本機能 ピックアップ (4)

×