タグ

*programmingと型に関するkilly1979のブックマーク (5)

  • is と as

    実装の確認 インターフェイスやボクシング変換を学習し、それを実用に移すとある問題が見つかります それは、アップキャストは常に保証されますが、ダウンキャストがまったく保証されないということです オブジェクト指向プログラミングでは、実行時まで型がわからないケースが多く 参照型を目的の型にダウンキャストする場合、確実性を持ちません 例えば、次のプログラムを見てください class A {} class B {} class Test { static void Main() { System.Object objA = new A(); B objB = (B)objA; } } これは、A クラスを Object 型に変換した objA という参照型があります これを B クラスに変換しようとしていますが、Object 参照が B 型の実装を持つかどうかは コンパイル時点では判断できません(こ

    killy1979
    killy1979 2011/12/20
    is 演算子は実装を調べ、その結果をブールで返すというものでしたが もともと、調べる目的がキャストならば as 演算子を用いるべきです
  • データ型一覧 - SQL Server

    -2,147,483,648 から 2,147,483,647 までの整数データを格納するデータ型です。

  • 多態性(C# によるプログラミング入門)

    概要 多態性(polymorphism: ポリモーフィズム)とは、 同じメソッド呼び出し(オブジェクト指向用語的には「メッセージ」という)に対して異なるオブジェクトが異なる動作をすることを言います。 ( ちなみに、polymorphism は多相性とか多様性と訳す場合もあります。 「poly(多)+morphism(射:形を変えるみたいな意味) → いろいろな姿を映し出す」という意味。 ) オブジェクト指向プログラミング言語には、 多態性を実現するために、仮想メソッドというものが用意されています。 ポイント オブジェクト指向の中核概念その3: 多態性。 同じ名前のメソッドを呼び出しで、異なる振る舞いをすること。 特に重要なのは、仮想関数を使った動的多態性。インスタンスの動的な型に応じて異なる振る舞いをする。 (メソッドのオーバーロードも多態性の一種(静的多態性)。) 静的な型、動的な型 「

    多態性(C# によるプログラミング入門)
    killy1979
    killy1979 2011/10/24
    静的な型の情報は 「typeof(クラス名)」 動的な型の情報は 「変数名.GetType()」 キャスト可能かどうかは 「変数名 is 型名」「変換先の変数 = 変換元の変数 as 型名」
  • 値型と参照型 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 C#の型(組込み型、クラス、構造体、列挙型)には大きく分けて2つのタイプがあります。 1つは値型と呼ばれるもので、もう1つは参照型と呼ばれるものです。 ここでは、その値型と参照型の違いについて説明していきます。 ポイント C# には値型と参照型がある。 値型: 変数に直接値が格納される。 参照型: 変数が持っているのは参照情報(実体がどこにあるのかという情報)だけ。実体は別の場所に確保される。 構造体は値型で、クラスは参照型になる。 おさらい: C# の型の分類 C#の型は以下のように分類されます。 C# の型の分類 項では、この青い四角で囲った分類、値型と参照型の違いについて説明していきます。 値型と参照型の違い 「C# の型」で概要だけ紹介していますが、 C# の型には値型と参照型という区別があります。 C# の型の中で、構造体とクラスは非常に似通った機能ですが、この2者を区別

    値型と参照型 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
  • C# 数値型

    コンピュータの中では、数字は 2 進数で記録されます。 2 進数とは、 2 つの数字を使って、数字を表します。つまり、スイッチのオン/オフ、電圧が低い/高いという 2 つの状態を、数字として使っています。 普段我々は、10 進数を使います。10 進数は、0 ~ 9 の、10 個の数字を使います。0 ~ 9 まで使ってしまうと、桁上がりをします。 2 進数では、0 ~ 1 まで進むと桁上がりをします。 1つのスイッチで 2 つの数字を表せます。つまり、0 と 1 です。 2 つのスイッチがあれば、2 * 2 で 4 つ、3 つあれば 2 * 2 * 2 で 8 個の数字が表せます。数字には 0 があるので、表すことが出来る数字の数から 1 つ引いた値が、最大の数字ということになります。数式で表すと、2n - 1 となります。 しかし、これでは大量に「桁」が必要になります。10 までカウントし

  • 1