掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NETとC#の違い (ID:115576)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> http://www.aisto.com/roeder/dotnet/のURLのどこら辺にあるでしょうか? > 探しましたけれど、見つかりません。 『Reflector for .NET』と書かれたスクリーンショットの所に、 [Reflector.zip] というリンクがありますよね? (^_^;) > コンパイルってどういう意味でしょうか? 高級言語(VBやC#などといった、人間にとって読みやすい言語)を、 低レベル言語(CPUが理解しやすい言語)に置き換える作業の事を compile と言います。とりあえずは、「DLLやEXEを作る事」と 思っておけば良いかと。 で、コンパイルを行うためのプログラムの事を、コンパイラ (compiler)と言います。なお、.NET Frameworkにおいては、 VB用コンパイラのVBC.EXE、C#用コンパイラのCSC.EXE、 JScript用コンパイラのJSC.EXEなどが用意されています。 > 演算子のオーバーロードとはどういう意味か分かりません。 演算子、は分かりますよね。「+」とか「/」とか「=」などです。 例えば、現在の VB.NET 2002/2003 においては、SqlInt16型の 変数同士を足し算しようと思ったら、 A = SqlTypes.SqlInt16.op_Implicit(1) B = SqlTypes.SqlInt16.op_Implicit(2) C = SqlTypes.SqlInt16.op_Addition(A, B) もしくは、 A = New SqlTypes.SqlInt16(1) B = New SqlTypes.SqlInt16(2) C = SqlTypes.SqlInt16.Add(A, B) のように書かなくてはいけません。 これが VB.NET 2005 であれば、 Dim A, B, C As System.Data.SqlTypes.SqlInt16 A = 1 B = 2 C = A + B のようなコードが書けるようになります。 また、自分で作ったオブジェクト同士でも四則演算等ができるようになります。 例えば、以下のような「複素数クラス MyComplex」を定義すれば、 Dim c1 As New MyComplex(2, 4) Dim c2 As New MyComplex(3, 5) Console.WriteLine(c1) '2.00 + i4.00 Console.WriteLine(c2) '3.00 + i5.00 Console.WriteLine(c1 + c2) '5.00 + i9.00 のような事ができるようになる予定です。 '複素数クラスの作成 Structure MyComplex Private r As Double Private i As Double Public Sub New(ByVal r As Double, ByVal i As Double) Me.r = r Me.i = i End Sub Public Overrides Function ToString() As String If 0.0 <= i Then Return String.Format("{0:F2} + i{1:F2}", r, i) Else Return String.Format("{0:F2} - i{1:F2}", r, -i) End If End Function '☆加算演算子のオーバーロード☆ Shared Operator +(ByVal x As Complex, ByVal y As Complex) As MyComplex Return New Complex(x.r + y.r, x.i + y.i) End Operator End Structure
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.