Προς το περιεχόμενο

Μαθήματα C# (Αρχίστε από το μηδέν)


Almis

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

C_Sharp1.png

1. Εισαγωγή στη C#

 

Σε αυτήν την ενότητα θα σας εξηγήσω κάποια βασικά πράγματα έτσι ώστε να μπορέσετε να καταλάβετε πως δουλεύει το C# πριν αρχίσετε να προγραμματίζεται.

 

1.1 Τι είναι το .NET Framework

 

Το .NET Framework είναι ένα γενικό πλαίσιο λογισμικού το οποίο χρειάζεται για να δουλέψει η εφαρμογή σας, με άλλα λόγια η εφαρμογή σας θα χτιστεί πάνω στο .NET Framework. Είναι γενικό πλαίσιο λογισμικού επειδή η εφαρμογή που θα φτιάξετε μπορεί να είναι μια διαδικτυακή εφαρμογή που θα τρέχει στον περιηγητή σας, είτε μια απλή εφαρμογή με κουμπιά, κείμενα, εικόνες κτλ. που θα τρέχει στον υπολογιστή σας, είτε Windows Services τα οποία θα τρέχουν στον διακοσμητή (σέρβερ) πίσω στο παρασκήνιο εκτελώντας για παράδειγμα κάποιες εντολές χωρίς να τα βλέπει ο χρήστης.

 

57349136124660747064.png

 

Είναι η δουλεία του .NET Framework να σας παρέχει όλες τις υπηρεσίες που χρειάζεστε ανάλογα με την εφαρμογή που θέλετε να φτιάξετε. Για παράδειγμα η δυνατότητα να αποθηκεύσετε τα δεδομένα στη βάση δεδομένων, να διαβάσετε δεδομένα από XML αρχεία είναι λίγες από τις ικανότητες τις οποίες σας προσφέρει το .NET Framework.

 

Σημειώσεις: Σήμερα (08/06/2013) η πιο πρόσφατη έκδοση του .NET Framework είναι 4.5. Θα ήθελα επίσης να αναφέρω ότι αυτή η έκδοση δεν υποστηρίζεται από το Windows XP, για το Windows XP η τελευταία έκδοση είναι 4.0.

 

1.2 Τι είναι το CLR

 

Το Common Language Runtime (Χρόνος Εκτέλεσης Κοινής Γλώσσας) είναι το περιβάλλον εκτέλεσης για την .NET εφαρμογή σας, δηλαδή το CLR είναι υπεύθυνο για την εκτέλεση και τη διαχείριση της εφαρμογής σας όπως επίσης για τον τερματισμό της εφαρμογής όταν τελείωση η εκτέλεση ή όταν παρουσιαστεί κάποιο ανεπανόρθωτο σφάλμα.

 

Πάνω έχω αναφέρει ότι το CLR διαχειρίζεται την εφαρμογή σας με αυτό εννοώ:

  • Διαχειρίζεται την μνήμη: Το CLR παρακολουθεί ενεργά ενεργά όλα τα αντικείμενα (objects) και όλη την μνήμη που ζητάτε για να κάνετε την δουλεία σας, έτσι ξέρει πότε σταματάτε να χρησιμοποιείτε τα αντικείμενα και πότε την μνήμη και όταν συμβεί αυτό καθαρίζει τα πράγματα για σας έτσι ώστε η μνήμη να μην γεμίζει με πράγματα που δεν χρησιμοποιούνται πλέον και που απλός φορτώνουν την μνήμη.
  • Διαχειρίζεται την ασφάλεια: Υπάρχουν κάποιοι χώροι στο σύστημα αρχείων στους οποίους δεν σας επιτρέπεται η πρόσβαση, το CLR είναι υπεύθυνο ώστε να μην το παραβιάσετε. Επίσης θα αποτρέψει στην εφαρμογή σας να διαβάσει ή να γράψει στην μνήμη που δεν ανήκει στην εφαρμογή σας.
  • Είναι ανεξάρτητο λογισμικού και υλικού:  Όταν γράφεται το πρόγραμμά σας δεν χρειάζεται να ανησυχείτε για την έκδοση του Windows σας (XP, Vista, 7, 8) ούτε για το τι επεξεργαστή χρησιμοποιείτε (Intel, AMD) κτλ. Το CLR τα αναλαμβάνει όλα αυτά έτσι ώστε να σιγουρευτεί ότι η εφαρμογή σας δουλεύει κανονικά.
  • Είναι ανεξάρτητο γλώσσας προγραμματισμού: Μπορείτε να γράψετε το πρόγραμμά σας στην C# αλλά μπορείτε να το γράψετε επίσης και στην Visual Basic, είτε στην F# είτε σε οποιαδήποτε άλλη γλώσσα προγραμματισμού που χρησιμοποιεί το .NET Framework, το ίδιο CLR θα διαχειριστή την εφαρμογή σας σε οποιαδήποτε γλώσσα και αν γράψατε.

Σημειώσης: Τα κινητά έχουν διαφορετικό CLR από τους υπολογιστές αλλά έχουν πολλά κοινά.

 

1.3 Τι είναι το FCL

 

Σε αντίθεση με το CLR που δουλεύει στο παρασκήνιο χωρίς να κάνετε κάτι εσείς, το Framework Class Library είναι αυτό που θα χρησιμοποιείτε καθημερινά. Το FCL περιέχει χιλιάδες classes που θα σας χρησιμοποιήσετε για να φτιάξετε την εφαρμογή σας. Σας παρέχει πολλές βοήθειες όπως να διαβάσετε αρχεία, να αναλύσετε κείμενα, να χρησιμοποιήσετε regular expressions και άλλα πολλά. Όπως είπα υπάρχουν χιλιάδες classes και το κάθε class έχει πολλές λειτουργίες, έτσι είναι σχεδόν αδύνατον για έναν άνθρωπο να τα θυμάται όλα, η αλήθεια είναι ότι θα χρησιμοποιείτε μόνο κάποια από αυτά ανάλογα με το τι θέλετε να κάνετε και μερικά μπορεί να μην τα χρησιμοποιείστε και ποτέ, εδώ θα δούμε μόνο τα σημαντικά που θα τα χρησιμοποιείτε πολύ συχνά.

 

1.4 Visual Studio .NET

 

Αυτό είναι ένα σχεδιάγραμμα του Visual Studio .NET και από αυτά έχω εξηγήσει το CLR και το FCL. Το έβαλα για να έχετε μια γενική ιδέα και στο μέλλον σκέφτομαι να γράψω λίγα λόγια και για τα υπόλοιπα αλλά ξέρω πως κουραστήκατε με τις πολλές θεωρίες και πως περιμένετε πως και πως να αρχίσετε να προγραμματίζεται για αυτό θα τα αφήσω για ποιο μετά, όποιος θέλει μπορεί να τα ψάξει στο διαδίκτυο.

 

33020429969110450460.png

 

1.5 Εγκατάσταση Visual Studio 2012

 

Ανοίγουμε τον περιηγητή μας --> μπαίνουμε στο google --> Γράφουμε Visual Studio 2012 Express --> Πατάμε στο Express for Windows Desktop --> Στην σελίδα που μας βγάζει πατάμε Download --> Στην επόμενη σελίδα πατάμε το Install now --> Αποθηκεύουμε το αρχείο που μας λέει να κατεβάσουμε --> Εγκαταστάμε το αρχείο που κατεβάσαμε --> Μαρκάρουμε το I agree ... και πατάμε Install --> Όταν τελειώση η εγκατάσταση πατάμε Launch --> Τέλος, τώρα έχετε την Visual Studio 2012.

 

50333981818310286746.gif

 

1.6 Hello World!

 

Προσεχώς...

 
Το θέμα θα ανανεώνετε καθημερινά για αυτό καλό θα ήταν να την κάνετε συνδρομή. Αν έχετε οποιεσδήποτε απορίες ή δεν καταλάβατε κάτι απ' όσα έχω γράψει πιο πάνω αφήστε ένα σχόλιο και θα σας απαντήσω το συντομότερο δυνατό.

Επεξ/σία από Almis
  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Φίλε έγραψα προσεχώς φυσικά και δεν θα το αφήσω έτσι θα γράψω και άλλα θέλει χρόνο, σιγά σιγά :)

Επεξ/σία από Almis
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε έγραψα προσεχώς φυσικά και δεν θα το αφήσω έτσι θα γράψω και άλλα θέλει χρόνο, σιγά σιγά :)

 

δεν ξερω εαν το forum ειναι και το καλυτερο μερος για να αναπτυξεις εναν τετοιο οδηγο, για δες για παραδειγμα αυτο: https://el.wikibooks.org/wiki/Linux_%CE%B3%CE%B9%CE%B1_%CE%B1%CF%81%CF%87%CE%AC%CF%81%CE%B9%CE%BF%CF%85%CF%82

 

και οι λογοι που δημιουργηθηκε εκει: http://www.insomnia.gr/topic/470836-%CE%B4%CE%B7%CE%BC%CE%B9%CE%BF%CF%85%CF%81%CE%B3%CE%AF%CE%B1-%CE%BF%CE%B4%CE%B7%CE%B3%CE%BF%CF%8D-linux-%CE%B3%CE%B9%CE%B1-%CE%B1%CF%81%CF%87%CE%AC%CF%81%CE%B9%CE%BF%CF%85%CF%82/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

tr3quart1sta: Έχεις δίκιο μπορεί να βγει μέγαλο για αυτό θα τα βάζω σε spoilers.. Το πρόβλημα είναι ότι δεν έχω χρόνο να κάτσω να μαθαίνω πως δουλεύει το wiki και δεύτερον εκεί μπορεί κάποιος να τα αλλάξει ή να τα σβήσει. Επίσης εδώ θα μπορώ να απαντώ σε τυχόν ερωτήσεις.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

δεν ξερω εαν το forum ειναι και το καλυτερο μερος για να αναπτυξεις εναν τετοιο οδηγο

Βασικα μπορει να το βαλει στο http://www.insomnia.gr/wiki

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όταν ανανεώνεις το θέμα καλό είναι να κάνεις ένα post που να λέει ότι έγινε update.

 

Γράφει από κάτω Επεξεργασία από Almis, σήμερα, 01:36.

 

Βασικα μπορει να το βαλει στο http://www.insomnia.gr/wiki

 

Χμμμ έχεις δίκιο... θα το βάζω εκεί αλλά παράλληλα θα το αφήσω και αυτό. Εδώ θα αφήνε μόνο ο πίνακας περιεχομένων και εδώ θα απαντώ στης ερώτήσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Γράφει από κάτω Επεξεργασία από Almis, σήμερα, 01:36.

 

 

Χμμμ έχεις δίκιο... θα το βάζω εκεί αλλά παράλληλα θα το αφήσω και αυτό. Εδώ θα αφήνε μόνο ο πίνακας περιεχομένων και εδώ θα απαντώ στης ερώτήσεις.

 

 

Το λέω για να μας βγάζει στις ειδοποιήσεις ότι κάτι νέο μπήκε για να μπούμε να το δούμε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το λέω για να μας βγάζει στις ειδοποιήσεις ότι κάτι νέο μπήκε για να μπούμε να το δούμε.

 

Ααα τότε εντάξει

 

Το θέμα ανανεώθηκε!!!

 

Ανακοίνωση: Το θέμα θα μεταφέρνεται στο Wiki της Insomania κάθε φορά που τελειώνει ένα κεφάλαιο. Δηλάδη τώρα για παράδειγμα είμαστε στο κεφάλαιο ένα όταν το τελειώσω θα το μεταφέρω στο wiki και θα αρχίσω να γράφω για το κεφάλαιο 2. Επίσης θα αφήσω εδώ και τον πίνακα περιεχωμένων στον οποίο θα μπορείτε να διαλέγετε ένα κεφάλαιο ή τίτλο και θα σας πηγαίνει στο wiki.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικα μπορει να το βαλει στο http://www.insomnia.gr/wiki

Καλό το Wiki (γενικά μιλάω), δεν είδα όμως να έχει για Προγραμματισμό κάποια κατηγορία και είναι κρίμα να μην υπάρχει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 μήνες μετά...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...