Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Creare app native su
iOS, Android, Mac &
Windows in C#
Introduzione a C#
Gli speaker di oggi
Guido Magrin
Xamarin & Microsoft Student Partner
Xamarin Certified Developer
@GuidoMagrin
Dove trovo le slide?
http://www.slideshare.net/guidomagrin
Gli Xamarin Student Partner
https://www.facebook.com/XSAMilano
Cosa impareremo oggi?
• Fondamenti di C#
• Branching & Looping
• Programmazione ad oggetti
• Behaviors
• Debugging ed Exce...
Chi ha già
sentito parlare
di C#?
Breve storia di C#
C# si è evoluto a partire da linguaggi come C, C++ e Java.
Xamarin Studio
PC o Mac
Plugin Visual Studio
VS 2010 e superiore
Ambienti di Sviluppo
Fondamenti
di C#
Statements
Commenti
Tipi
Tipi e Variabili
Tipi predefiniti
Tipi numerici
Valori booleani
Lavorare con le stringhe
Concatenazione di Stringhe
Lavorare con caratteri singoli
Lavorare con le variabili
Stampare variabili tramite Console
Output complesso a Console
Sicurezza sui Tipi
Come nominare una variabile?
Branching &
Looping
Scegliere tra due alternative, If
“Switch”
“While”
“For”
Programmazione
ad oggetti
Cos’è la programmazione ad oggetti?
In informatica la programmazione orientata agli oggetti (OOP, Object
Oriented Programm...
Definizione di nuovi tipi
L’idea base della programmazione ad oggetti è che il programmatore possa
creare nuovi tipi
Cos’è una classe?
La classe è un costrutto di un linguaggio di programmazione usato come
modello per creare oggetti
Cosa c’è in una classe?
Una classe contiene fields e metodi
Cos’è un field?
Un field è una variabile posseduta dalla classe che contiene il dato
Cos’è un metodo?
I metodi sono blocchi di codice, contenenti istruzioni C#, che “lavorano” con
i field della classe
Come identificare le classi che mi servono?
Quali sono le classi che
potenzialmente ci servirebbero per
descrivere un’app ...
Come identificare le classi che mi servono?
• Mappa
• Posizione corrente
• Percorso
• Strada
Le classi sono modelli di cos...
Cos’è un object?
Una classe definisce un template. Gli objects sono istanze di quel template.
Come definisco una classe?
Una classe C# ha un nome e un body. Il body è limitato da { e }
Ogni classe dovrebbe essere def...
Innestamento di classi
Classi pubbliche VS Classi private
Bisogna prestare attenzione al livello di accessibilità che si vuole garantire ad ogni
...
Come creare objects?
Ogni oggetto possiede i propri field in maniera univoca
Come accedo ai fields di un object?
Uso l’operatore “punto” per accedere (leggere o modificare) i fields di un object
Behaviors
Come definisco un metodo?
Un metodo è dichiarato all’interno di una classe con un nome univoco che indica
di cosa si occup...
Come accedo ad un metodo?
Devo usare l’operatore “punto” e le parentesi
Passaggio di parametri a un metodo
I parametri di un metodo sono «pezzi aggiuntivi di informazioni» passati al
metodo dal ...
Validazione di parametri
I parametri passati DEVONO essere del tipo richiesto dal metodo
Passaggio di parametri multipli
I parametri passati ad una classe possono essere anche di tipi differenti
Ritorno di valori da un metodo
Per ogni metodo deve essere definito il tipo ritornato. Nel caso non ritorni nulla,
si usa ...
Overloading di un metodo
Talvolta un metodo può avere metodi con lo stesso nome ma che, a seconda
dei parametri passati, a...
Cos’è una property?
Una property C# consente un accesso regolato ad un determinato field
Debugging ed
Exceptions
Diverse tipologie di bug
Usare breakpoint per interrompere il programma
I breakpoint servono a interrompere l’esecuzione del programma in un punto
...
Modificare le condizioni di un breakpoint
Cos’è una exception?
Un’exception serve a gestire una condizione imprevista, durante l’esecuzione
del programma
A cosa ci serve un’exception?
A cosa ci serve un’exception?
Un’exception non gestita, solitamente, causa un crash nel programma
Catturare un’exception
Le exception devono essere catturate in maniera da gestire il caso
Catturare un’exception
Le exception devono essere catturate in maniera da gestire il caso
Catturare differenti tipologie di exception
E’ possibile specificare diversi catch, a seconda dell’eccezione che si intend...
Lanciare un’exception
E’ possibile generare manualmente un’exception per descrivere un problema
che causerebbe l’interruzi...
Altro su C#
LINQ, Eventi & Delegati
Supporto a LINQ
Gestione di Eventi & Delegati
Json.NET permette di lavorare agevolmente con stringhe in formato JSON e
oggetti .NET, grazie ai metodi SerializeObject e ...
C# con XamarinObjective-C
Differenze tra Obj-C e Xamarin C# – Classi e Metodi
C# con Xamarin
Objective-C
Semplificazione offerta da Async/Await
C# con XamarinJava
C# & Async con Xamarin
Click di oggetti – Android ItemClick
Upcoming SlideShare
Loading in …5
×

Introduction to C#

608 views

Published on

What is C#?

This deck will allow you to get started fast at programming in C# :)

Published in: Technology
  • Be the first to comment

Introduction to C#

  1. 1. Creare app native su iOS, Android, Mac & Windows in C# Introduzione a C#
  2. 2. Gli speaker di oggi Guido Magrin Xamarin & Microsoft Student Partner Xamarin Certified Developer @GuidoMagrin
  3. 3. Dove trovo le slide? http://www.slideshare.net/guidomagrin
  4. 4. Gli Xamarin Student Partner https://www.facebook.com/XSAMilano
  5. 5. Cosa impareremo oggi? • Fondamenti di C# • Branching & Looping • Programmazione ad oggetti • Behaviors • Debugging ed Exceptions
  6. 6. Chi ha già sentito parlare di C#?
  7. 7. Breve storia di C# C# si è evoluto a partire da linguaggi come C, C++ e Java.
  8. 8. Xamarin Studio PC o Mac Plugin Visual Studio VS 2010 e superiore Ambienti di Sviluppo
  9. 9. Fondamenti di C#
  10. 10. Statements
  11. 11. Commenti
  12. 12. Tipi
  13. 13. Tipi e Variabili
  14. 14. Tipi predefiniti
  15. 15. Tipi numerici
  16. 16. Valori booleani
  17. 17. Lavorare con le stringhe
  18. 18. Concatenazione di Stringhe
  19. 19. Lavorare con caratteri singoli
  20. 20. Lavorare con le variabili
  21. 21. Stampare variabili tramite Console
  22. 22. Output complesso a Console
  23. 23. Sicurezza sui Tipi
  24. 24. Come nominare una variabile?
  25. 25. Branching & Looping
  26. 26. Scegliere tra due alternative, If
  27. 27. “Switch”
  28. 28. “While”
  29. 29. “For”
  30. 30. Programmazione ad oggetti
  31. 31. Cos’è la programmazione ad oggetti? In informatica la programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione che permette di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi
  32. 32. Definizione di nuovi tipi L’idea base della programmazione ad oggetti è che il programmatore possa creare nuovi tipi
  33. 33. Cos’è una classe? La classe è un costrutto di un linguaggio di programmazione usato come modello per creare oggetti
  34. 34. Cosa c’è in una classe? Una classe contiene fields e metodi
  35. 35. Cos’è un field? Un field è una variabile posseduta dalla classe che contiene il dato
  36. 36. Cos’è un metodo? I metodi sono blocchi di codice, contenenti istruzioni C#, che “lavorano” con i field della classe
  37. 37. Come identificare le classi che mi servono? Quali sono le classi che potenzialmente ci servirebbero per descrivere un’app di routing? Le classi sono modelli di cose nel mondo reale; possiamo spesso identificare quali classi usare esaminando cosa l’app deve fare.
  38. 38. Come identificare le classi che mi servono? • Mappa • Posizione corrente • Percorso • Strada Le classi sono modelli di cose nel mondo reale; possiamo spesso identificare quali classi usare esaminando cosa l’app deve fare.
  39. 39. Cos’è un object? Una classe definisce un template. Gli objects sono istanze di quel template.
  40. 40. Come definisco una classe? Una classe C# ha un nome e un body. Il body è limitato da { e } Ogni classe dovrebbe essere definita nel suo file (BankAccount.cs)
  41. 41. Innestamento di classi
  42. 42. Classi pubbliche VS Classi private Bisogna prestare attenzione al livello di accessibilità che si vuole garantire ad ogni singolo campo e metodo: • Le altre classi hanno bisogno di accedere a questo campo, o è solamente utile allo svolgimento di operazioni interne alla classe? • Le altre classi possono trarre vantaggio dall’accedere a questo metodo?
  43. 43. Come creare objects? Ogni oggetto possiede i propri field in maniera univoca
  44. 44. Come accedo ai fields di un object? Uso l’operatore “punto” per accedere (leggere o modificare) i fields di un object
  45. 45. Behaviors
  46. 46. Come definisco un metodo? Un metodo è dichiarato all’interno di una classe con un nome univoco che indica di cosa si occupa il metodo
  47. 47. Come accedo ad un metodo? Devo usare l’operatore “punto” e le parentesi
  48. 48. Passaggio di parametri a un metodo I parametri di un metodo sono «pezzi aggiuntivi di informazioni» passati al metodo dal chiamante.
  49. 49. Validazione di parametri I parametri passati DEVONO essere del tipo richiesto dal metodo
  50. 50. Passaggio di parametri multipli I parametri passati ad una classe possono essere anche di tipi differenti
  51. 51. Ritorno di valori da un metodo Per ogni metodo deve essere definito il tipo ritornato. Nel caso non ritorni nulla, si usa la keyword «void»
  52. 52. Overloading di un metodo Talvolta un metodo può avere metodi con lo stesso nome ma che, a seconda dei parametri passati, adempiono a funzioni differenti
  53. 53. Cos’è una property? Una property C# consente un accesso regolato ad un determinato field
  54. 54. Debugging ed Exceptions
  55. 55. Diverse tipologie di bug
  56. 56. Usare breakpoint per interrompere il programma I breakpoint servono a interrompere l’esecuzione del programma in un punto specifico
  57. 57. Modificare le condizioni di un breakpoint
  58. 58. Cos’è una exception? Un’exception serve a gestire una condizione imprevista, durante l’esecuzione del programma
  59. 59. A cosa ci serve un’exception?
  60. 60. A cosa ci serve un’exception? Un’exception non gestita, solitamente, causa un crash nel programma
  61. 61. Catturare un’exception Le exception devono essere catturate in maniera da gestire il caso
  62. 62. Catturare un’exception Le exception devono essere catturate in maniera da gestire il caso
  63. 63. Catturare differenti tipologie di exception E’ possibile specificare diversi catch, a seconda dell’eccezione che si intende catturare
  64. 64. Lanciare un’exception E’ possibile generare manualmente un’exception per descrivere un problema che causerebbe l’interruzione dell’esecuzione di un metodo
  65. 65. Altro su C#
  66. 66. LINQ, Eventi & Delegati Supporto a LINQ Gestione di Eventi & Delegati
  67. 67. Json.NET permette di lavorare agevolmente con stringhe in formato JSON e oggetti .NET, grazie ai metodi SerializeObject e DeserializeObject Lavorare con i JSON
  68. 68. C# con XamarinObjective-C Differenze tra Obj-C e Xamarin C# – Classi e Metodi
  69. 69. C# con Xamarin Objective-C Semplificazione offerta da Async/Await
  70. 70. C# con XamarinJava C# & Async con Xamarin Click di oggetti – Android ItemClick

×