COOL C# CREW Series (日本語ではクールシーシャープクルーシリーズ)は、C#に関連する川俣晶の電子書籍の総称です。入門レベルから、割と高度なものまであります。
姉妹シリーズには【ITプロ豆知識シリーズ】があります。
COOL C# CREW Seriesは、頭文字をCに揃えるためにCOOLとCREWという文字を補っています。実は#はSharpなので、#とSeriesもS-Sです。
楽しいC#入門
かつて、秀和システムから敢行されていた【たのしいC#プログラミング(ISBN 978-4-7980-3845-2)】の改訂版。
C#が改訂されて追加された主要な新機能は、随時新装に追加して改訂中。
タイトルが「楽しい」なので、表紙には楽しそうな女性、男性、ペンギン、謎の人形を配置。
表紙のインチキ英題"Fancy and Sharp, Fun C# Primer"は"Fancy and Sharp"と"Fun C#"をかけたダジャレです。
WebブラウザでC#・Blazor入門 サクサクSPA作成法
Webブラウザ内のWASMの技術でC#のプログラムを動かすBlazorの入門書です。修正、変更が多く、まだ仕様が安定しないので、改訂は休止中です。
表紙のCGは楽しいC#入門と同じ4人組……と思いきや、謎の人形ではなく宇宙人が入っています。宇宙人まで楽しそうですね。
【楽しいC#入門姉妹編】 理解度確認! 理解度増進! C#穴埋め問題集・ソースでダンス!
C#の言語仕様を学ぶための穴埋め問題集です。
タイトルの【ソースでダンス】はダジャレです。
表紙のインチキ英題"C# Source C# Dance C# Ace"はダジャレです。
本当はウケが良ければ言語仕様のみならずライブラリに関する問題も追加する予定でしたがそこまでのウケは良くなく計画は頓挫。
裏C#入門: あなたの知らない太古のテクニックと遠い昔の物語
これは初学者向けではありません。昔のC#というのは、こんな感じだったのだよと言う思い出語りです。ちなみに、筆者はC# 1.0から使っていますが、その前にアンダース・ヘルスバーグの言語としてはTurbo Pascal 3.0を使った実績があります。1985年頃ですね。
ifやintは覚えた。さてその次は? C#ハウツー: 逆引き入門・こんな機能はどう書くの?
言語から機能を調べるのは簡単です。たとえば、C#のfor文は簡単に検索で機能を調べられます。しかし、逆は面倒です。そこで、【こんなことをやりたいときは、どう書けば良いのか?】をテーマに構成した逆引き辞典です。本当はもっといろいろなことがありますが、切りがないのでここまでとしてあります。
new_C#入門: 全キーワード明快解説! (紙版あり)
新しい入門書を模索して書いた本。言語のキーワードに注目して、キーワードごとに解説を書いた本。たとえば、"forってなに?"に直接答える本です。試しに紙の版も作成しているので、電子ではなく紙で読みたい人はこちらからどうぞ。紙はあまり反応が良くなかったので、それ以後は紙版は作っていません。
.NETのPathプログラミングA to Z ~おっとそのファイル・パスは安全か?~
ファイルのパスはトラブルの多い面倒な処理になりますが、C#ではPathクラスを正しく使うことで多くの罠を回避できます。しかし、全ての罠を回避できるわけではありません。そこのところを、まとめて解説しています。
この本は厳密にはCOOL C# CREW Seriesではありません。(.NET汎用です)。
表紙のインチキ英題の"Accident to Zen of File Paths"は良くある"A to Z"と"Zen of……"のもじりです。英語のZen ofのZenは禅のことです。
C# staticプログラミング入門: 高効率なシンプルさに投げKISS!
プログラムがシンプルな場合、クラスのインスタンスを作ると不必要な複雑さを導入してしまい、かえって生産性を落とすという話を書いてあります。サイズに適した複雑さの見極めが肝心です。タイトルのKISSは、「KISS(Keep It Simple, Stupid)の原則」と接吻のキスをかけたダブルミーニングです。
表紙のインチキ英題"KISS ME KISS YOU"は、そのKISSと、更にロフティングのドリトル先生のオシツオサレツ(Pushmi-pullyu)をかけたインチキ英題になっています。
C#とawaitだけで実現するマルチタスク入門: みんな走れ!
プリエンプティブなマルチタスクのプログラムはawait演算子だけで実現できるというテクニックを解説した本です。これは、1つのプロセス空間内で複数スレッドを実行できないBlazorで有益なテクニックです。
「みんな走れ!」は、1982年のアニメ「戦闘メカ ザブングル」の最終回のサブタイトルですが、どの処理も同時に走れというニュアンスを込めて使っています。
インチキ英題の"Our Task is Awaiting"は企業の説明などで良くある"Our Task is ……(我々の使命は……である)"のもじりです。await演算子はTaskオブジェクトを使用して待機することを意味します。
LINQ全メソッド解説辞典・C#ソースコード短縮の切り札
もともとあったLINQ Maniacsという企画からなぜかタイトルが化けた技術評論社の【省エネ対応】 C#プログラムの効率的な書き方の全面改訂版です。本来の趣旨に立ち返ってLINQの全メソッド解説になっています。新規に追加されたメソッドの解説も増えています。
表紙のインチキ英題の"LOVELY LINQ"は頭文字がL-Lになるように決められたものです。
C#リフレクション入門: さあ、おまえの型を数えろ!
リフレクションは筆者の得意技です。それを改めて解説する書籍です。リフレクションは実行時に自分自身のプログラムを検索できる機能です。そのためにプログラムにじはメタデータが埋め込まれています。それにより、実行時に動作が確定する疎結合のプログラムを作成できます。
表紙のインチキ英題の"Loose Coupling Conputing"は疎結合コンピューティングを意味します。タイトルの「さあ、おまえの型を数えろ!」は、仮面ライダーW決め台詞のもじりですが、リフレクションを使うと自分のプログラム中の型を全てカウントすることが容易にできます。
ビットで理解するC#の数値入門: 1を足したのになぜ値が増えないの?
C#に限らず、コンピュータの数値計算では1を足したのに値が増えないケースがあります。なぜそのような不思議なことが起こるのか、数値を表現するビットの世界に降りて行って原理と回避方法を説明します。
表紙のインチキ英題"Bits and Binary"は、ビットと2進数のことですが、頭文字がどちらもBであることからBitsとBinaryを並べてあります。
C#の初期化順入門: バグを産み出す魔境を乗り越える方法!
C#のプログラムでは初期化で入れたはずの値にアクセスできない場合があります。全ての初期化コードは同時に実行されるわけではなく、実行される順番があるからです。初期化が入り組むと本当に予測できない場合があり、トラブルの元になります。
表紙のインチキ英題"Initialize Order 66"は、初期化順を示す"Initialize Order"と、スターウォーズの"Order 66"をかけた造語です。Order 66でクローン兵がいきなり言うことを聞かなくなるように、C#のプログラムも初期化順の問題から言うことを聞かなくなることがありますが、理屈が分かれば回避できます。
C#ソースコードのデザインのパターン達
2009年にC# 3.0の解説書として技術評論社から【究極のC#プログラミング : 新スタイルによる実践的コーディング : 完全版】という本を出したときに、巻末に【特別付録C# 3.0デザインパターン ミニカタログ】というものを付けました。それの拡大改訂版です。
表紙の少年がレコードをかけているのは、本書に最後の章がrecordを扱う"不変のrecord"だからです。
インチキ英題の"Great Patterns without Gangs"のGangsはデザインパターンを編み出した4人(Gang of Four=GoF)を意味します。そして、なぜGreateが頭に付いているのかといえば、Gangと頭文字のGを揃えるためです。
C#の国際化入門: 狂った日付順、化けた円記号
国際化と文字化けの問題はいつも頭痛の種です。海外のサーバを使うとそもそも日本ロケールで動作していない場合もあります。そこで、そこに特化して解説を行った書籍です。円記号が化ける問題も文字がそもそも化ける問題も扱います。日付の順番が年月日から狂うケースも扱います。
表紙のインチキ英題の"INTERNATIONALIZATION"とは国際化のことそのものですが、とても長い単語なのでこれしか入りません。長すぎるのでI18Nと略されることもあります。18は中間の文字です。
C#+.NET nanoFramework+M5StickC体当たり入門記: 夢~現実~突破口
M5StickCを.NET nanoFrameworkで使う方法を解説した入門書です。.NET nanoFrameworkは利用者が少なく技術情報も乏しいので、かなり体当たりで動作を調べました。しかし、これを使うことでM5StickCのためのアプリをC#で書けます。