confusion with System.dll and mscorlib.dll

im a bit of a confusion with the "System.dll" and "mscorlib.dll" files because of the folowingreason.

Math class is in the "System" namespace and when youclick on the "System" namespace from the solution explorer it display the assembly of the "System" namespace as System.dllin the property box.But according to the MSDN the assembly for "System" namespaceis "mscorlib.dll".

I know the above mention information is bit confusing Howevermy question is, are these two assemblies(System.dll and mscorlib.dll) reffers to the mscorlib.dll assembly or they are two different kinds?

--------------------------------------------------------------

Q2:

Module mod1

Dim i As Interger = 7

Sub Main()

in the MessageBox.Show("message" & i, "title")

End Sub

End Module

Does the Show() casts the value of the i to a string before concatenation?

Comments

: : Both the questions are from "VB.NET": Q1:: : im a bit of a confusion with the "System.dll" and : "mscorlib.dll" files because of the folowing: reason.: : Math class is in the "System" namespace and when you: click on the "System" namespace from the solution explorer : it display the assembly of the "System" namespace as System.dll: in the property box.: But according to the MSDN the assembly for "System" namespace: is "mscorlib.dll".: : I know the above mention information is bit confusing However: my question is, are these two assemblies(System.dll and mscorlib.dll) : reffers to the mscorlib.dll assembly or they are two different kinds?: : --------------------------------------------------------------: : Q2:: : Module mod1: : Dim i As Interger = 7: : Sub Main(): : in the MessageBox.Show("message" & i, "title"): : End Sub: : End Module: : Does the Show() casts the value of the i to a : string before concatenation?: : :

The mscorlib.dll is the main dll that defines all the base types and then some. System.dll builds on it. Multiple dll's are capable of defining objects that fall under the same namespace. So in many cases, you will find that multiple dll's will make up the definition of a namespace.

Re your Q2, the variable i remains as an Integer type, even though you have concatenated it into your messagebox string.

You can test this by inserting a breakpoint immediately after the messagebox code line and checking the Locals Window from the Debug menu.You will see that it still appears as an integer with a value of 7.

If you want to create a string to hold message numbers, (perhaps because you want to compare this string against another one, you can do something like this:[code] Dim msgnumber As String = CStr("message" & i) If msgnumber = "message7" Then ' some code here End If[/code]