裏口からのC#実践入門
4-5 冗長な判定 as と is の動作を確認。 as (C# リファレンス) is (C# リファレンス) using System; namespace Uraguchi.Scene4 { public class Tenshi5 { public static void Run() { object a = "Hello"; if (a is string) { var b = a as string; Consol…
2-8 過剰な例外への依存 例外は使いどころが難しいけど、コストがかかるから止めるとかそういうものじゃないかな。 差は凄いけど。 using System; namespace Uraguchi.Scene2 { public class Tenshi8 { public static void Run() { var start = DateTime.Now…
2-3 WinForms への固執 ソース直編集ができるからWPF有利ってのはどうかなぁ。 理由としては弱いかも。 2-4 Windows API の直接呼び出し Macなので試すことはできなかった。 ネイティブコードにしてもオーバーヘッドがあるので、それよりも環境依存に気を付…
シーン 2 ライブラリの問題 2.1 旧世代のコレクションを使う C# で何かやったことはないので、Hashtableの存在知らなかった。 System.Collections 名前空間は使わず、System.Collections.Generic を使うこと。 using System; using System.Collections; usin…
1-31 委譲すべきケースで継承する 委譲はいいんだけど、外部からアクセスさせるのはどうかなぁ。 using System; namespace Uraguchi { class Tenshi31お財布 { public int 所持金 { get; set; } } class Tenshi31僕 { public Tenshi31お財布 Saifu { get; se…
昨日の更新忘れと一緒に。 1-24 別の名前空間での同じ名前の多用 こんな書き方ができるとは。 ただ、まぁわかりづらいと思うので避けた方が良い気がする。 using System; using FPath = System.IO.Path; namespace Uraguchi { public class Tenshi24 { publi…
1-21 readonly が使えるケースで普通の変数を使う 初期化構文 -> コンストラクタの処理順。 using System; namespace Uraguchi { public class Tenshi21 { private readonly double x1 = 4989, x2 = 893, distance; public void Report() { Console.WriteLin…
1-20 const が使えるケースで普通の変数を使う 定数は大文字で書いちゃった。 規約的にはよくないようだ。 大文字の使用規則 だけど、クラス名、メソッド名、プロパティと全てPascalだからなんか見辛い気がする。 using System; namespace Uraguchi.Scene1 {…
1-18 using 文を使わない症候群 IDisposableインターフェイスの実装とusing文の組み合わせが鉄板。 1-19 Mixed Language Programming を知らない VBのクラスを使えるという話。 MacでVBをどう扱うかわからなかったのでパス。
1-16 全部public症候群 フォント的に、大文字と小文字のLの判別がすんごいしにくかった。 Javaの流れて言うと、カプセル化しようねって話。 この項で衝撃的だったのは、アクマくんとテンシちゃんが意外といい関係だということ。 1-17 全部static症候群 stati…
1-13 ポインタの利用 C#のポインタはデメリットの方が多い 99%、ポインタは死ぬまで使わない 1-14 無駄なキャストの多用 キャストをなるべく行わないようにする。 基本的に、自分はList使うかも。 型の誤用は真っ先に訂正すべき 1-15 全部1クラス症候群 Cust…
1-10 過剰に表現力がありすぎる型の利用 dynamicは使いどころが難しそう。 まだまだ自分にはとりあえず存在することだけは知っておいて、使わないという選択がよさそう。 using System; namespace Uraguchi.Scene1 { class BaseShip { public int Males { ge…
1-8 解放されない参照 使い終わったあとにnullいれないと解放されないのでOut of memory出ちゃうよって話。 using System; using System.Linq; using System.Collections.Generic; namespace Uraguchi { public class Tenshi8 { private int[] array; privat…
1.6 ループする必要のないループ やはりC#はLinqをどう使うか、かな。 using System; using System.Linq; namespace Uraguchi { public class Tenshi6 { public static void Run() { int[] array = { 1, -1, 2, -2, 3 }; Console.WriteLine(array.FirstOrDef…
gitで管理する際、.gitignoreは以下から拝借。 github/gitignore github/gitignore · GitHub 1-3 for と foreach の誤用 ソースはあまりにそのままなので、貼り付けるのが躊躇われるので貼らずに。このシーンでは、Enumerableの各メソッドが分からなかったの…
裏口からのC#実践入門 ~バッドノウハウを踏み越えて本物へ!!作者: 川俣晶出版社/メーカー: 技術評論社発売日: 2014/11/08メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見るXamarinを使って学習する。 ソリューション毎に出力の設定しない…