Docstoc

Overview of CSharp - Overview of

Document Sample
Overview of CSharp - Overview of Powered By Docstoc
					Overview of C#
Agenda
•   Structure of a C# Program
•   Basic Input/Output Operations
•   Compiling, Running, and Debugging
•   Namespaces
Agenda
Structure of a C# Program
Basic Input/Output Operations
Compiling, Running, and Debugging
Namespaces
       Structure of a C# Program
using System;
class HelloWorld
{
  public static void Main()
  {
    Console.WriteLine("Hello C# !!!");
  }
}
      ‫‪Structure of a C# Program‬‬
              ‫בשפת #‪ C‬כל הקוד של התוכנית נכתב רק בקבצים בעלי הסיומת ‪.CS‬‬       ‫•‬
‫בדומה ל- ++‪ C# ,C/C‬מבחינה בין אותיות קטנות לאותיות ראשיות (‪,)Case Sensitive‬‬   ‫•‬
                          ‫ולכן חשוב להקפיד על ‪ Upper Case‬ועל ‪.Lower Case‬‬
                         ‫#‪ C‬הנה שפה מונחית אובייקטים, ניתן אף להגדיר את #‪C‬‬    ‫•‬
                                      ‫כ – ‪. Pure Object Oriented Language‬‬
     Structure of a C# Program
using System;
class HelloWorld
{
  public static void Main()
  {
    Console.WriteLine("Hello C# !!!");
  }
}



   .‫המושג גלובאלי נעלם, כל משתנה/פונקציה שייכים למחלקה מסויימת בתוכנית‬
    ‫‪Structure of a C# Program‬‬
‫;‪using System‬‬
‫‪class HelloWorld‬‬
‫{‬
  ‫)(‪public static void Main‬‬
  ‫{‬
    ‫;)"!!! #‪Console.WriteLine("Hello C‬‬
  ‫}‬
‫}‬


                         ‫• הפונקציה הראשית של התוכנית, נקודת הכניסה לתוכנית.‬
                                    ‫• המתודה ‪ Main‬חייבת להיות מתודה ‪. static‬‬
      ‫• היא יכולה להחזיר ערך או להחזיר ‪ void‬ויכולה לקבל פרמטרים אם יש בכך צורך.‬
                              ‫• כל תוכנית חייבת להכיל לפחות מתודת ‪ Main‬אחת .‬
     Structure of a C# Program
using System;
class HelloWorld
{
  public static void Main()
  {
    Console.WriteLine("Hello C# !!!");
  }
}


        .‫הנה מחלקה המציעה אוסף של מתודות המטפלות בקלט/פלט‬   Console   •
                                         . System ‫• מוגדרת במרחב השמות‬
Agenda
•   Structure of a C# Program
•   Basic Input/Output Operations
•   Recommended Practices
•   Compiling, Running, and Debugging
•   Namespaces
  Basic Input/Output Operations
           : ‫• שליחת מידע לאמצעי הפלט הסטנדרטי‬
• Console.Write)…(
• Console.WriteLine)…(




              ‫• קבלת מידע מאמצעי הפלט הסטנדרטי‬
• Console.Read)…(
• Console.ReadLine)…(
    Basic Input/Output Operations
                                     Console.Write)…( ‫המתודה‬
using System;
class ConsoleApp
{
   static void Main(string[] args)
   {
        Console.Write("num");
        Console.Write(" = ");
        Console.Write(13);
        Console.Write)“num = 13”(
    }
}
                                           .‫• שליחת מידע לחלון ללא ירידת שורה‬
                                                           .‫• המתודה מועמסת‬
    Basic Input/Output Operations
                              Console.WriteLine)…( ‫המתודה‬
using System;
class ConsoleApp
{
    static void Main(string[] args)
    {
          Console.WriteLine(100);
          Console.WriteLine("Hello World!!!");
          Console.WriteLine(100 +
                " littles dwarfs launched to the moon");
          Console.WriteLine();
}
                                      .‫• שליחת מידע לחלון ללא ירידת שורה‬
                                                     .‫• המתודה מועמסת‬
 ‫‪Basic Input/Output Operations‬‬
                                                    ‫‪Text Formatting‬‬
     ‫המתודות ‪ Write‬ו- ‪ WriteLine‬מאפשרות לפרמט את הפלט על ידי שימוש בסמנים‬         ‫•‬
                                                               ‫(‪.)Markers‬‬
                                                                  ‫• לדוגמה:‬
‫,".}2{ ‪Console.WriteLine("The Sum of {0} and {1} is‬‬
                     ‫;)32+21,32,21‬
                                                                    ‫• הפלט:‬
‫53 ‪The Sum of 12 and 23 is‬‬

  ‫חייבים לשמור על מיספור עוקב של הסמנים, אולם הם אינם חייבים להופיע על פי הסדר,‬   ‫•‬
                               ‫כל סמן יכול להופיע יותר מפעם אחת במחרוזת הפלט.‬
  Basic Input/Output Operations
                                      Numeric Formatting
          .‫ מאפשרות לעצב את הערכים המספריים‬WriteLine -‫ ו‬Write ‫המתודות‬   •

                                                         :‫• לדוגמה‬
                                             ‫ מציין הדפסת מטבע‬C ‫המתג‬    •
Console.WriteLine("The Sum of {0:C} and {1:C} is {2:C}.",
                  12,23,12+23);
                                                           :‫• הפלט‬
               The Sum of $12 and $23 is $35
  Basic Input/Output Operations
                                          :‫ - דוגמאות נוספות‬Numeric Formatting
 ‫ קובע הדפסת מספר ממשי. המספר הבא אחריו קובע את מספר הספרות אחרי‬F ‫• המתג‬
                                                               ‫הנקודה שיוצגו‬
Console.WriteLine("Salary = {0:F2}",9999.12345);
                                                                     :‫הפלט‬
                              Salary = 9999.12
                                .‫ מגדיר הדפסת מספר ארוך עם פסיקים‬N ‫• . המתג‬
Console.WriteLine("Num = {0:N} ", 1000000);
                                                                     :‫הפלט‬
                                  1,000,000
                                             . exponential – ‫• הדפסת מספר כ‬
Console.WriteLine("The Sum of {0:E} and {1:E} is {2:E}.",12,23,12+23);
                                                                      :‫הפלט‬
The Sum of 1.200000E+001 and 2.300000E+001 is 3.500000E+001.
                                               hexadecimal -‫• הדפסת מספר כ‬
Console.WriteLine("The Sum of {0:X} and {1:X} is {2:X}.",12,98,12+98);
                                                                       ‫הפלט‬
                         The Sum of C and 62 is 6E
    Basic Input/Output Operations
                                      Console.Read)…( ‫המתודה‬
using System;
class ConsoleApp
{
    static void Main(string[] args)
    {
      ...
         int num = 0;
         num = Console.Read();
        Console.WriteLine("num = {0}",num);   ...
    }
}
          ‫ קוראת תו מהמקלדת. הערך המוחזר הנו ערכו של התו בטבלת‬Read ‫המתודה‬   •
                                                                 .Unicode
                                                     :‫לדוגמה‬
           49 ‫ יהיה‬num ‫במידה ונקליד את התו '1', ערכו של‬
    Basic Input/Output Operations
                      Console.ReadLine)…( ‫• המתודה‬
class ConsoleApp
{
    static void Main(string[] args)
    {
      ...
      string name;
        name = Console.ReadLine();
        Console.WriteLine(name);
    }
}
        ‫ ומחזירה‬Enter -‫קוראת תווים מהמקלדת עד ל‬Console.ReadLine(...) ‫המתודה‬   •
                                                                     ‫מחרוזת‬
Agenda
•   Structure of a C# Program
•   Basic Input/Output Operations
•   Compiling, Running, and Debugging
•   Namespaces
  ‫‪Compiling, Running, and Debugging‬‬
                                ‫הקומפיילר של שפת #‪ C‬נקרא ‪.CSC.EXE‬‬        ‫•‬
                 ‫הקומפיילר מותקן כחלק מההתקנה של ‪. .NET Framework‬‬        ‫•‬
                                ‫המיקום הפיזי של תוכנת הקומפיילר הוא ב-‬   ‫•‬
   ‫5073.0.1‪(C:\WINNT\Microsoft.NET\Framework\v‬מספר הגירסה יכול‬
                                                      ‫כמובן להשתנות) .‬
                            ‫התוצר של הקומפיילר הוא קובץ ‪ EXE‬או ‪. DLL‬‬     ‫•‬
‫התוצר אינו ‪( Native Code‬שפת מכונה) אלא ‪Microsoft Intermediate ( MSIL‬‬     ‫•‬
                                                           ‫‪.)Language‬‬
 ‫קיבצי ה- ‪ EXE‬או ה- ‪ DLL‬המקומפל ל- ‪ Native Code‬מכונים ‪. Assemblies‬‬       ‫•‬
  Compiling, Running, and Debugging
                                  :‫• קומפילציה פשוטה‬
csc.exe c:\Programs\FirstApp.cs
                                        :‫התוצר‬
                              FirstApp.exe
                            :‫• קביעת שם קובץ ההרצה‬
csc.exe /out:App.exe c:\Programs\FirstApp.cs
                                   App.exe :‫התוצר‬
          :‫• קומפילציה לפרוייקט המכיל מספר קבצים‬
csc.exe /out:App.exe MyFile1.cs MyFile2.cs
                       :‫• קומפילציה למספר קבצים רב‬
csc.exe /out:App.exe *.cs
   Compiling, Running, and Debugging
  ‫• קומפילציה למספר קבצים תוך ציון המחלקה בה‬
                             : Main ‫מוגדרת‬
csc.exe /out:App.exe /main:MyClass MyFile1.cs MyFile2.cs
                       :‫• קומפילציה עם אופטימיזציה‬
csc.exe c:\Programs\FirstApp.cs /Optimize
                           :‫ לקובץ ההרצה‬ICON ‫• הוספת‬
csc.exe /Win32icon:MyIcon.ico FirstApp.cs
Compiling, Running, and Debugging
                                 .)DLL ‫ (או‬EXE ‫התוצר של הקומפילציה הוא קובץ‬    •
) Microsoft Intermediate Language) MSIL ‫ אלא‬Native Code ‫קובץ ההרצה אינו‬        •
                       . JIT -‫ על ידי ה‬Native Code -‫ ל‬MSIL -‫בזמן ריצה מומר ה‬   •
Compiling, Running, and Debugging
                                                    :‫• כלים‬
-‫ נשמר כ‬Image -‫, ה‬MSIL -‫ מקובץ ה‬Image ‫ – מייצר‬NGEN.EXE – 1
      .‫ ובכך משפר את הביצועים‬Native Code




                                      – ILDASM.EXE – 2
                         . Assemblies -‫מאפשר לצפות בתוכן ה‬
Agenda
•   Structure of a C# Program
•   Basic Input/Output Operations
•   Compiling, Running, and Debugging
•   Namespaces
                    ‫‪Namespaces‬‬
                                                   ‫יישות לוגית הגדרתית.‬     ‫•‬
‫‪namespace Shapes‬‬               ‫מרכז אוסף של הגדרות טיפוסים ( ,‪Classes‬‬       ‫•‬
‫{‬                    ‫‪ ) Structures, Enumerations‬בעלי קשר לוגי ביניהם.‬
  ‫‪class Point‬‬                         ‫מרחב שמות אחד יכול להיות משותף‬        ‫•‬
                                              ‫למספר קבצים או פרוייקטים.‬
  ‫{‬
                                   ‫מונע התנגשות שמות (‪)Name Clashes‬‬         ‫•‬
       ‫...‬                                      ‫יכול להיות מקונן (‪)Nested‬‬   ‫•‬
  ‫}‬
  ‫‪class Circle‬‬
  ‫{‬
               ‫..‬
  ‫.‬
  ‫}‬
‫}‬
                      ‫‪Namespaces‬‬
          ‫לפני השימוש במחלקה יש להצהיר על מרחב השמות בו היא מוגדרת.‬       ‫•‬
                                ‫ההגדרה יכולה להיות מפורשת או מרומזת.‬      ‫•‬
                                                             ‫הגדרה מרומזת:‬
                                       ‫מחייבת את השימוש במילה השמורה ‪. using‬‬
              ‫;‪using MyCompany.Shapes‬‬
              ‫…‬
              ‫;)(‪Point p = new Point‬‬


                                                  ‫הגדרה מפורשת :‬

‫;)(‪MyCompany.Shapes.Point p = new MyCompany.Shapes.Point‬‬
             Namespaces
                                                         : ‫• כינויים‬
            .‫ניתן להגדיר כינויים למרחבי שמות או מחלקות‬
using Point1 = Microsoft.Shapes.Point;
using Point2 = IBM.Shapes.Point;

namespace NamespaceSample
{
   class App
   {
      static void Main(string[] args)
      {
         Point1 p1 = new Point1();
         Point2 p2 = new Point2();

        }
    }
}
Review

•   Structure of a C# Program
•   Basic Input/Output Operations
•   Compiling, Running, and Debugging
•   Namespaces
www.corner.co.il
 ‫ – הוצאת ספרים מקוונת‬Books Corner

				
DOCUMENT INFO