読んで、書いて、書いて、読んで。
書いて困って、読んでときどき役に立つ。
ManagementとCoding、読書とCoding。
どっちもバランスが重要な気がする。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
○readonlyフィールドは初期化されると二度と変更できませんが、
これに対しconstフィールドは、定数として同じ値を定義するものです。
readonlyフィールドの方が、はるかに柔軟性があり、
どんな型であっても構いませんし値は実行時に計算されても構いません。(P.83)
○型パラメータとは、
コンパイル時に別の型で置き換えることを可能とするものでプレースホルダーと呼ばれています。
これにより1つの型を書くだけで、複数のバージョンの型を生成することが可能となります。
これをジェネリック型と言います。(P.115)
●baseArg引数がDerivedもしくはDerivedから派生した型のインスタンスを参照していないときには変換が失敗し、
InvalidCastExceptionをスローします。
(中略)
as演算子を使用して、例外発生のリスクなしに型変換を試みることができます。(P.165)
●配列初期化(P.132)
ArrayInitializationプログラム参照。
DeducingInitより、MoreSimpleInitのほうが安心してしまうところが、
型推論によるプログラミングに慣れていない証拠かと思う。
○到達可能性がどのように決定されるかに関する重要な結論の一つは、
GCは循環参照にもきちんと対応できることです。(P.193)
○構造体に対して最初にDisposeを呼び出しているとみなされています。
これは、CallDisposeの個々の呼び出しが新しくボックスを生成するからです。
実際には、変数dvを受け渡しているのではなく、
それぞれの呼び出しの度に新しいボックスを受け渡しています。(P.221)
○デリゲート型をILDASMのようなリバースエンジニアリングツールを用いて見ると、
それが.NETFrameworkのクラスライブラリにより提供される型なのか、
自分で定義した型かわかります。
自分で定義した型はMulticastDelegateと呼ばれる基底型から派生します。(P.256)
○Rxチームがこの名前を使うもう一つの理由は、
コンピューティング全般に対して、
とくにLINQやRxプロジェクトに対して多大な影響を与えたJohn McCarthyに対して敬意を払うためです(P.367)
書いて困って、読んでときどき役に立つ。
ManagementとCoding、読書とCoding。
どっちもバランスが重要な気がする。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
○readonlyフィールドは初期化されると二度と変更できませんが、
これに対しconstフィールドは、定数として同じ値を定義するものです。
readonlyフィールドの方が、はるかに柔軟性があり、
どんな型であっても構いませんし値は実行時に計算されても構いません。(P.83)
○型パラメータとは、
コンパイル時に別の型で置き換えることを可能とするものでプレースホルダーと呼ばれています。
これにより1つの型を書くだけで、複数のバージョンの型を生成することが可能となります。
これをジェネリック型と言います。(P.115)
●baseArg引数がDerivedもしくはDerivedから派生した型のインスタンスを参照していないときには変換が失敗し、
InvalidCastExceptionをスローします。
(中略)
as演算子を使用して、例外発生のリスクなしに型変換を試みることができます。(P.165)
●配列初期化(P.132)
ArrayInitializationプログラム参照。
DeducingInitより、MoreSimpleInitのほうが安心してしまうところが、
型推論によるプログラミングに慣れていない証拠かと思う。
○到達可能性がどのように決定されるかに関する重要な結論の一つは、
GCは循環参照にもきちんと対応できることです。(P.193)
○構造体に対して最初にDisposeを呼び出しているとみなされています。
これは、CallDisposeの個々の呼び出しが新しくボックスを生成するからです。
実際には、変数dvを受け渡しているのではなく、
それぞれの呼び出しの度に新しいボックスを受け渡しています。(P.221)
○デリゲート型をILDASMのようなリバースエンジニアリングツールを用いて見ると、
それが.NETFrameworkのクラスライブラリにより提供される型なのか、
自分で定義した型かわかります。
自分で定義した型はMulticastDelegateと呼ばれる基底型から派生します。(P.256)
○Rxチームがこの名前を使うもう一つの理由は、
コンピューティング全般に対して、
とくにLINQやRxプロジェクトに対して多大な影響を与えたJohn McCarthyに対して敬意を払うためです(P.367)
コメント
コメントを投稿