Hello, World!

.::Home::.

.::Introduzione::.

1.Panoramica

4.DataBase

.::Presentazioni PPT::.

.::Link::.

.::DownLoad::.

 

Con questo esempio inizia la carriera di ogni programmatore, qualunque linguaggio egli decida di dedicarsi. Lo scopo del programma è fare scrivere sullo schermo della console la scritta "Hello World!" e servirà per valutare come C#, VB.Net e C++ accedono al framework.

I Namespace forniscono un sistema di organizzazione logica sia interna che esterna degli elementi dei programmi, e in questo caso particolare gli elementi per l'accesso alle funzioni di base, come l'output su console sono incorporati nel namespace System, contenuto nell'assembly mscorlib.dll (Microsoft Core Library).

Questo assembly viene caricato automaticamente da C# e da VB.NET, ma non da C++ come vedremo negli esempi:

C#

// Permette riferimenti semplificati al namespace System
using System;

// Questa "classe" esiste solo per ospitare la funzione entry point dell'applicazione 
class MainApp {
    // Il metodo statico Main  l'entry point dell'applicazione
    public static void Main() {
        // Scrive il testo sulla console
        Console.WriteLine("Hello World using C#!"); 	
    }
}

Questo frammento di codice mette bene in evidenza come tutto in C# sia un membro di un tipo. Non esistono metodi o variabili globali. Si noti come questa applicazione definisca la sua funzione "Main" come parte di una classe

Analizziamo ora l'analogo codice scritto però in Visual Basic:

Visual Basic.NET

' Permette riferimenti semplificati al namespace System
Imports System

' Il Module ospita l'entry point dell'applicazione
Public Module modmain
   ' "Main"  l'entry point dell'applicazione
   Sub Main()
      ' Scrive il testo sulla console
      Console.WriteLine ("Hello World using Visual Basic!")
   End Sub
End Module

Si noti, per contrasto, la struttura tradizionale del programma in Visual Basic.

C++

// L'utilizzo dell'assemby mscorlib.dll deve essere specificato!
#using ‹mscorlib.dll›

// Permette riferimenti semplificati al namespace System
using namespace System;

// La global function "main"  l'entry point dell'applicazione
void main()	{
    // Scrive il testo sulla console
	Console::WriteLine(S"Hello World using Managed Extensions for C++!");	
}

Per poter accedere al codice gestito nel namespace System, l'uso dell'assembly che lo contiene (mscorlib.dll) deve essere specificato perché non assunto automaticamente in C++ come lo è in C#; quindi è necessario iniziare il programma con lo statement #using <mscorlib.dll>.

using namespace System; permette riferimenti diretti al codice contenuto nel namespace System.

Da rilevare come sia necessario l'uso dell'operatore di scope resolution (::) al posto del dot (.) per accedere alla funzione WriteLine della classe Console.

Fonti:

Documentazione .NET Framework SDK

.::^top^::.

(2002) A cura di Carlo Becchi