מה שונה ב #C ?
כדי לפתוח בוויזואל סטודיו פרויקט ב #C צריך לבחור במיוחד:
Visual C# -> Console Application
אחרי זה יופיע לנו הקוד הבא:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication25 { class Program { static void Main(string[] args) { } } }
בואו ננתח כל חלק:
הספריות:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
השטח הפרטי שלנו לתכנת בו בלי להפריע למתכנתים אחרים:
(הסבר מפורט בשיעורים הבאים)
namespace ConsoleApplication25 // (זה שם הפרויקט) { . . . }
ה class הראשון: (שימו לב שמחלקה לא נגמרת ב ";")
class Program { . . . }
הפונקציה Main: (שימו לב שלא כותבים "main")
static void Main(string[] args) { }
- ראיתם שהפונקציה Main מתחילה ב static? תתחילו להתרגל. ב #C פונקציות סטטיות מופיעות הרבה.
המשמעות שלהן זה שהן לא ייחודיות לאובייקט מסוים של המחלקה. אין להן הרשאה למשתנים של המחלקה שאינם סטטיים.
(אגב, משתנים של מחלקה נקראים "מאפיינים").
- אם אנחנו בתוך המחלקה אפשר לקרוא לפונקציה סטטית באמצעות השם שלה, אבל אם אנחנו במחלקה אחרת:
שם_פונקציה.שם_מחלקה()
(בשפת ++C ראינו אפשרות לקרוא לפונקציות סטטית של מחלקה גם דרך שם אובייקט, מה שלא קיים ב #C.)
פקודות הדפסה:
הדפסה עם ירידת שורה בסוף:
Console.WriteLine("Hello!");
הפונקציה הזו שימושית מאוד אך כתיבה שלה לוקחת הרבה זמן. תוכלו פשוט להשתמש בקיצור מקשים:כיתבו "cw" וליחצו"tab" פעמיים.
הדפסה בלי ירידת שורה בסוף:
Console.Write("Hello!");
הדפסה עם ציון שם הספרייה (לא נחוץ לציין את שם הספרייה, אבל דעו שזה אפשרי):
System.Console.WriteLine("Hello!");
;int x = 5, y = 10, z = 20, w = 30
Console.WriteLine(x);
Console.WriteLine("x is: " + x + " y is: " + y);
הדפסה של משתנים וטקסט יחד - דרך 2:
Console.WriteLine("x is: {0} y is: {1} z is: {2} w is: {3}", x,y,z,w);
פקודת קלט:
הפונקציה של קלט היא:
ReadLine();
אבל היא יודעת לקלוט רק טקסט. כדי לקלוט ערך למשתנה שאינו טקסט צריך להמיר אותו מטקסט אל ה"טייפ" של המשתנה.
פונקציית ההמרה הזו נקראת ;()Parse ונמצאת ב-Class של הטייפ של המשתנה. (כן, int הוא Class בשפת #C).
כך:
int num_i; double num_d; bool b;
num_i = int.Parse(Console.ReadLine()); // קלט num_d = double.Parse(Console.ReadLine()); // קלט b = bool.Parse(Console.ReadLine()); // False או True קלט של
עבודה עם float
ברירת המחדל של מספר עם נקודה עשרונית היא התייחסות כ-double.
לכן הקוד הבא לא חוקי: (הקוד מצפה ש-f יהיה double אבל הוא לא)
float f = 25.753;
יש לזה שני פתרונות:
1.
;float f = 25.753f
2.
;float f = (float)25.753
הבדל במשפט תנאי
בשפת C ראינו שאפשר לעשות כך:
int y=50, z=200, x;
x = y>z;
-ב #C זה חוקי רק אם x הוא bool.
וכך מתחילים...
-כמה ספרי לימוד למי שמעוניין
אין תגובות:
הוסף רשומת תגובה