Non sei registrato? Registrati subito cliccando QUI! E utilizza tutte le funzionalita' del sito!

[001]C#!Iniziamo Pt.2

In questa sezione si apprenderanno le basi di questo linguaggio ormai utilizzato per applicazioni web ma soprattutto da qualche anno usato come linguaggio principale del framework XNA
Regole del forum
Il C# (si pronuncia "c sharp") è un linguaggio di programmazione object-oriented sviluppato da Microsoft all'interno dell'iniziativa .NET, e successivamente approvato come standard ECMA. La sintassi del C# prende spunto da quella del Delphi (hanno il medesimo autore, ovvero Anders Hejlsberg), del C++, da quella di Java e da Visual Basic per gli strumenti di programmazione visuale e per la sua semplicità (meno simbolismo rispetto a C++, meno elementi decorativi rispetto a Java).

[001]C#!Iniziamo Pt.2

Messaggioda Takobon » 03/06/2010, 16:29

Introduzione:
Bene,bene..Ora possono iniziare le vere lezioni^^.
Sarà come sempre breve e semplice..Bè,iniziamo!

First Step:
Nella scorsa "lezione" vi ho fatto scaricare ed installare VS 2008 C#.Ora apritelo e create un nuovo progetto(File-->Nuovo Progetto)

Dopo di che si aprirà una finestra di dialogo;a questo punto selezionate "Applicazione Console"(che è quella che ci interessa al momento le altre saranno approfondite più in la) e assegnatele un nome(in basso) e date conferma.^^

Bene ora avrete davanti un codice di questo tipo :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test_Ex
{
class Program
{
static void Main()
{
}
}
}


Niente paura :sorr: ora vi spiegherò ogni cosa^^


using System;

Cosa vuol dire?

La parte che ci interessa è la parola chiave using.Essa ci servirà per sempre poichè non fa altro che richiamare dei namespace("Spazio dei nomi") ossia un ambito che contiene delle entità(classi) con all'interno a loro volta dei metodi ecc..Quindi la useremo per usare metodi,richiamare variabili di altri namespace o strutture ecc...
In questo esempio richiama i namespace fondamentali per richiamare la Console.


namespace Test_Ex

Analizziamo per bene: poco fa ho detto che namespace è un ambito con all'interno delle funzioni,variabili,ecc(oggetti insomma).Ma cosa vuol dire quella scritta a fianco?
Nulla di speciale è solo il namespace della nostra applicazione che servirà per creare i costruttori,metodi;insomma è fondamentale ricordasela in quanto nell'atto della compilazione verrà restituito un errore^^


class Program

E questo cos'è? Bè dal nome si dovrebbe capire;è stata definita una class col nome Program(è fatto in automatico dall'IDE),nel quale troviamo i nostri metodi.Ma aspetta!Io vedo solo...


static void Main()

Bè nulla di importante.NO!E importante eccome!Dal nome "Main()"
si può comprendere che è qualcosa di "principale",ma cosa per l'esattezza?Esso è il punto di ingresso principale(è un metodo con il modificatore static,di cui non vi parlerò oggi)nel quale vengono eseguite le righe di codice principali.Infatti,se creassimo un altro metodo l'IDE lo ignorerebbe(a me no che non lo richiamassimo nel metodo Main),poichè verrà sempre eseguito il metodo Main().

N.B.Le classi,i metodi,i namespace,ecc si aprono e si chiudono con le parentesi graffe { }. Per richiamarle basta usare la combinazione :

Alt+0123 {
Alt+0125 }

 Edit: By 3x: Perdonami ma non potevo resistere.
Le graffe si possono scrivere con la più semplice combinazione Shift+Alt Gr + è/+


Quindi tutto ciò che si troverà al di fuori di esse,potrà non appartenere all'entità oppure restituire un errore.

Stampiamo..stampiamo!!
Bene terminata l'orrida spiegazione iniziamo a fare qualcosa di più concreto!

Iniziamo col scrivere nel metodo Main :
static void Main()
{
Console.WriteLine("Hey,Sono nuovo!Tu chi sei?");
Console.ReadLine();
}
Oh oh,ma che sarà mai tutto questo pandemonio?Analizziamo!

Console.WriteLine("Hey,Sono nuovo!Tu chi sei?");

Questa riga stamperà(per modo di dire) a video una stringa("Hey,Sono nuovo!Tu chi sei?") che viene inserita fra le parentesi,poichè questo metodo richiede dei parametri di tipo string(questo verrà spiegato più in là^^)

Console.ReadLine();
Mette in attesa l'applicazione fino a quando l'utente non premerà un tasto.Se lo si omette l'applicazione si aprirà e si chiuderà in un frazione di secondo proprio perchè non ci sarà niente che fermerà l'apertura dell'applicazione.Quindi sarà opportuno scriverlo sempre dopo ogni stampata a video.

Il codice nell'insieme dovrebbe essere così:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test_Ex
{
class Program
{
static void Main()
{
Console.WriteLine("Hey,Sono nuovo!Tu chi sei?");
Console.ReadLine();
}
}
}



Bene,fatto tutto questo premete F5 o dal menù Debug-->Avvia debug,attendete et voilà,ecco la nostra prima applicazione :sorr3:

To be continued:
Nella prossima lezione tratteremo delle variabili^^

Extra:
Più in là crerò una lezione di approfondimento per il metodo WriteLine^-^
Ultima modifica di Takobon il 04/06/2010, 12:46, modificato 4 volte in totale.
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [001]C#!Iniziamo Pt.2

Messaggioda tony8970 » 03/06/2010, 16:51

eheh Veramente ben fatte :) spieghi molto bene! Io sono già un pochino avanti di programmazione console tra C, C++ e C# sono abbastanza saturo XD (delle basi :) ).

Magari se posso permettermi di fare qualche piccola rischiesta non sarebbero male lezioni "mirate" alle classi, metodi, oggetti... più che altro alla creazione da zero. io qualcosa già sò fare però devo ammettere che per chi non ha mai fatto programmazione ad oggetti è abbastanza ostico come concetto :S. ( e un pò di sano ripasso e esercizio non fa MAI male)

e una su tutti i cicli :) :)

WileZ comunque è già una buona base... per quanto sono d'accordo con te sulla reale utilità di quel sito x°D

p.s.
in futuro (molto in futuro :D) tratterai anche il .net o solo XNA?
Avatar utente
tony8970
Neofita
Neofita
 
Messaggi: 69
Iscritto il: 03/05/2010, 17:38
Grazie dati: 4 volte
Grazie ricevuti: 0 volte
Ruolo: Mapper
Tool Preferito: VX

Re: [001]C#!Iniziamo Pt.2

Messaggioda Takobon » 03/06/2010, 16:56

Eheh grazie Tony^^
Mi fa paicere che ti piacciono le mie lezioni (:
Eppure sono autodidatta quindi tutto ciò che so è frutto della mia esperienza^^

Comunque le classi,metodi ecc li tratterò più in là,per ora voglio dare delle basi ma non ti preoccupare presto arriveranno^^

Comunque per quanto riguarda le lezioni future che tratterò riguardano entrambi i framework(.net e xna) perchè il primo solidifica le basi per poter essere pronti al prossimo.Sto pure vedendo di studiare i metodi che possiede XNA per creare le strutture client/server ^^

Comunque WileZ è molto bravo nella modellazione 3D che nella programmazione,ma rimane sempre un grande^^
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [001]C#!Iniziamo Pt.2

Messaggioda tony8970 » 03/06/2010, 18:18

Takobon ha scritto:Eheh grazie Tony^^

Comunque WileZ è molto bravo nella modellazione 3D che nella programmazione,ma rimane sempre un grande^^


verissimo :D!

Allora attendo paziente le prossime lezioni :)

p.s.
moooooolto interessante la questione client/server in xna :sbav:
Avatar utente
tony8970
Neofita
Neofita
 
Messaggi: 69
Iscritto il: 03/05/2010, 17:38
Grazie dati: 4 volte
Grazie ricevuti: 0 volte
Ruolo: Mapper
Tool Preferito: VX

Re: [001]C#!Iniziamo Pt.2

Messaggioda Takobon » 03/06/2010, 18:55

Lo so ^^
Ma è un concetto abbastanza difficile di per sè xD
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [001]C#!Iniziamo Pt.2

Messaggioda Ally » 03/06/2010, 20:04

Infatti si va per gradi =)

Lezione molto chiara e semplice,e per adesso ho capito tutto (°°)

Attendo le prossime ;)
ImmagineClicca qui per ingrandire
Spoiler: mostra
Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
Avatar utente
Ally
Fondatori
Fondatori
 
Messaggi: 5354
Iscritto il: 09/08/2009, 16:07
Località: Genova
Grazie dati: 127 volte
Grazie ricevuti: 121 volte
Ruolo: Scripter
Progetto/i VX: Essence
Tool Preferito: RM2k/2k3

Re: [001]C#!Iniziamo Pt.2

Messaggioda Takobon » 03/06/2010, 20:09

Ælly ha scritto:Infatti si va per gradi =)

Lezione molto chiara e semplice,e per adesso ho capito tutto (°°)

Attendo le prossime ;)



Ottimo..pensavo di essere stato poco chiaro xD
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [001]C#!Iniziamo Pt.2

Messaggioda Ally » 03/06/2010, 21:56

Tak,io quindi per stampare dovrei fare così?
 Codice: Seleziona tutto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test_Ex
{
class Program
{
static void Main()
Console.WriteLine("Prova Stamp");
Console.ReadLine();
{
}
}
}
ImmagineClicca qui per ingrandire
Spoiler: mostra
Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
Avatar utente
Ally
Fondatori
Fondatori
 
Messaggi: 5354
Iscritto il: 09/08/2009, 16:07
Località: Genova
Grazie dati: 127 volte
Grazie ricevuti: 121 volte
Ruolo: Scripter
Progetto/i VX: Essence
Tool Preferito: RM2k/2k3

Re: [001]C#!Iniziamo Pt.2

Messaggioda 3xter » 03/06/2010, 22:03

Rispondo io. Si.
ImmagineClicca qui per ingrandire

Burle Simpatiche | +
[01:45:36] ­sai come far disconnettere un contatto? XD
[01:45:40] ­l'ho fatto con zhu
­rpgmkr.net-Marco scrive:
[01:46:15] ­l'ho letto su makerando
­trick0 scrive:
[01:46:27] ­si ma che metodo usi?
[01:46:37] ­io ne conosco uno più rapido
[01:46:39] ­scrivi
[01:46:41] ­ /exit
[01:46:48] ­SE hai il plus eh
[01:48:30] ­­rpgmkr.net-Marco si è disconnesso
­trick0 scrive:
[01:48:53] ­finisce in firma

Ecco perchè Rain's Legacy va avanti rapidamente | +
­trixter says:
[13:06:29] ­debugghiamo sto bs ti prego ç.ç
­Ichy says:
[13:07:08] ­ok dai
[13:07:19] ­è che avevo trovato la donna della mia vita
[13:07:26] ­può aspettare
Avatar utente
3xter
Fondatori
Fondatori
 
Messaggi: 1010
Iscritto il: 12/08/2009, 12:22
Grazie dati: 0 volte
Grazie ricevuti: 2 volte
Ruolo: Eventer
Progetto/i VX: Rain's Legacy
Tool Preferito: Rpg Maker VX / Sharp Develop

Re: [001]C#!Iniziamo Pt.2

Messaggioda Takobon » 03/06/2010, 23:25

No ally,hai fatto un errore(più che altro mi sono scordato di scriverlo,domani provvederò a farlo^^)

Le parentesi graffe delimitano le classi,i metodi ecc...quindi ogni cosa al di fuori di una classe o altro può essere o non riconosciuta o appartene ad un'altra classe...

quindi le due righe vanno inserite fra le parentesi graffe del metodo Main,così

static void Main()
{
Console.WriteLine("Prova Stamp");
Console.ReadLine();
}
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Prossimo

Torna a Programmare in C#

SEO Search Tags

      attendere pressione carattere in c#      attendere pressione tasti con visual basic 2010      excel vba attendi input da tastiera      programmare client server c#      c# attendere pressione tasto      attendere input da tastiera xna      c# applicazione console attesa pressione tasto      c# aspettare imput tastiera

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti