[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00107] Re: Microsoft C#



-----------------------------------------------------------------[PR]---
                     『 eSampoして、深呼吸しよ 』
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        無料のメールアドレス&プレゼント三昧でハートウォーキング
___  クリックしたら暮らしが変わる→ http://www.easyml.com/686.php3
-PR------------------------------------------------------------------PR-


上原です。

Hiroshi Kuno <hkuno@xxxxxxxxxxxxxxxx> writes:
  > #######
  > > ・すべてがオブジェクト。数値3もメソッドを持っている。すべてのオブジェ
  > >   クト型の基底となる「object」型がある。しかし、効率上のペナルティはな
  > >   い。値を持った基本型を便宜的にobject型に代入できる(boxing, unboxing)。
  > > 
  > >   (例)
  > >    Console.WriteLine(3.ToString());
  > 
  > これは、違うのでは?
  > いや、確かにドキュメントには、"all types derive from object"と書い
  > てありますが、その後の説明を見る限りでは、
  > 
  > 1.定数や基本型は object ではないが、object的に扱えるシンタックスシュガーが
  >   用意されている。
  > 
  > 2.object に代入する際に、自動的にその値のコピーを持つラッパーオブジェクトが
  >   生成される(boxing)。
  > 
  > 3.ラッパーオブジェクトを元の型にキャストすると、ラッパーオブジェクトが保持
  >   している値のコピーが返される(unboxing)。
  > 
  > ということのようです。コレクションに基本型を出し入れするには便利ですね。

そうですね。解釈があまかったです。Javaでいうと、基本型(例えばint)とラッ
パクラス(java.lang.Integer)の間での相互の自動変換が行われるようなもの
でしょう。極めて便利そうです。Javaにも取り入れてほしいっす。

  > #######
  > > ・独自のクラスライブラリは持たない。その代わりに、Visual Basic や
  > >   Visual C++ のような言語によっても使われる共通のクラス・ライブラリを
  > >   使用する。
  > 
  > これは、意味がよくわからないです。どの辺りに記載がありましたでしょうか。

今はどこにあるか分からないのですが、くのさんからの第一報のときに
はダウンロードできたIntrotoc.doc中の最初の方に

  C# is provided as part of Microsoft Visual Studio 7.0. In addition
  to C#, Visual Studio supports Visual Basic, Visual C++, and the
  scripting languages VBScript and JScript. All of these languages
  provide access to the .NET platform, which includes a common
  execution engine and a rich class library. The .NET platform defines
  a "Common Language Subset" (CLS), a sort of lingua franca that
  ensures seamless interoperability between CLS-compliant languages
  and class libraries. For C# developers, this means that even though
  C# is a new language, it has complete access to the same rich class
  libraries that are used by seasoned tools such as Visual Basic and
  Visual C++. C# itself does not include a class library.

などとある部分を解釈してみました。C#のライブラリの仕組みは
ActiveX Control/COM Componentに乗っかってるように想像できます。

--
§NTTS○FT 技術開発部エレクトロニックコマース技術センター 上原 潤二 §
PGP Key fingerprint = B7 C0 CB 1F 1C 88 69 2A  25 36 8A EE 93 A3 61 72