表題作と他一遍の中編集。イブニング掲載時に読みましたが、すごく良かった。絵も話もとても好み。
静かに始まる第一話。一見他愛ない日常に見えて、ちらほらと異常がちりばめられる。
話が進むと時間軸を行ったり来たりしながら展開していき、少しずつ全容が見えてくる。
すべてが明らかになった後、結末は「んなあほな」と思いつつ、なんだか妙に晴れやかな気分。
この作者さんは知りませんでしたが、今後に期待大です。
var collection = new [] { "One", "Two", "Three", "Four" };
var dic = collection.ToDictionary(c => c.First());
var collection = new [] { "One", "Two", "Three", "Four" };
var dic = collection.GroupBy(c => c.First())
.ToDictionary(g => g.Key, g => g.First());
public static bool ValidateNotDuplicated(IEnumerable<UserInfo> users)
{
var dupusers = users.GroupBy(u => u.UserId)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToArray();
if (dupusers.Length > 0)
{
Console.WriteLine("User:{0} was duplicated.", string.Join(",", dupusers);
return false;
}
return true;
}
public static IEnumerable<UserInfo> SelectLatest(IEnumerable<UserInfo> users)
{
return users.GroupBy(u => u.UserId)
.Select(g => g.OrderByDescending(u => u.Updated).First());
}
static void ShowGroupedAmounts()
{
var from = new DateTime(2014, 1, 1);
var to = new DateTime(2014, 12, 31);
var group = Sales.Enumerate(from, to)
.GroupBy(s => s.Date.DayOfWeek)
.OrderBy(g => g.Key);
Console.WriteLine("DayOfWeak,Total Amount,Average,Median");
foreach (var g in group)
{
var cnt = g.Count();
Console.WriteLine(
"{0},{1},{2},{3}",
g.Key,
g.Sum(s => s.Amount),
Math.Round(g.Average(s => s.Amount), 1),
g.OrderBy(s => s.Amount).Skip(cnt / 2).First().Amount);
}
}
IEnumerable<IGrouping<DayOfWeak, Sales>>