•
•
• http://blog.shos.info
•
•
•
C# 1.0 C# 2.0 C# 3.0 C# 4.0 C# 5.0 C# 6.0
オブジェクト
指向
ジェネリック
関数型
dynamic
非同期
Roslyn
「ライブ コーディング
30分で
伝説の落ちゲーを」
「WinForms で。
だいじょうぶですよね。
MVP だから」
これは インチキ 工夫
をするしかない
•
• 「3分クッキング方式」
•
0 0 0 0 0 00 0 0 0
0 0 0 0 0 00 0 0 0
3 0 0 0 0 00 0 0 3
3 3 0 0 0 00 0 0 0
0 0 0 0 0 01 0 0 0
0 0 0 0 0 01 0 0 0
0 0 0 0 6 01 5 0 0
0 0 0 6 6 61 5 5 5
見えているものを、どうシンプルに捉えるか
•
•
•
public static IEnumerable<T> ToSequence<T>(this T[,] @this)
{ return @this.AllPoints().Select(point => @this.Get(point)); }
public static IEnumerable<Point<int>> AllPoints<T>(this T[,] @this)
{
return from x in Enumerable.Range(0, @this.GetLength(0))
from y in Enumerable.Range(0, @this.GetLength(1))
select new Point<int> { X = x, Y = y };
}
•
•
public static void ForEach<T>(this T[,] @this,
Action<Point<int>, T> action)
{
@this.AllPoints()
.ForEach(point => action(point, @this.Get(point)));
}
•
•
•
•
•
•
•
•
•
•
• http://www2.shos.info/FTetris.TS/
•
•
•
•
•
•
• https://github.com/Fujiwo/https-
github.com-Fujiwo-FTetris

「C# 大好き MVP による、C# ドキドキ・ライブコーディング!!」小島の分