פרטי המסמך:

הועלה: סוג מסמך: מסמך אונליין מסמך אונליין
עמודים: 127 הורדות: 162417
האם ידעתם שבקריאת מדריך C# אחד בחינם תוכלו להתקדם בידע שלכם ולהפוך ממתחילים למתכנתים אמיתיים שבונים תוכנות בעצמם בשפת C# בעזרת Visual Studio? 102 פרקים בחינם - כנסו עכשיו.

1. מבוא

מסמך זה מציג במדריך לימוד מלא למתחילים את עיקרי שפת C#, בעבודה בסביבת DotNet. בנוסף המסמך מכיל מידע רק למי שרוצה להתקדם בשפת C# ולקבל הרגלי תכנות נכונים ולהבין מה קורה מאחורי הקלעים.

כמו כן באתר ניתן למצוא עוד כלים ומסמכים רבים עבור שפת C#, היכנסו ותלמדו!

מסמך זה איננו מדריך למתחילים. מסמך זה מניח שליטה בשפת C++ על בוריה ומתקדם על מנת להכיר למתכנתי C++ את השפה החדשה.

שפת C# הינה התשובה של מיקרוסופט לשפת Java הפופולארית. מבחינת תחביר שתי השפות מאוד קרובות, אולם ישנן הבדלים המייחדים כל אחת מן השפות. השפה הינה OOP מלאה, מאפשרת ירושה יחידה (בדומה ל-Java) ומכילה תמיכה בממשקים ובאירועים.

מה חדש בסביבת .Net?

  • הקבצים הנכתבים ב-.Net אינם מתורגמים לשפת מכונה (אסמבלר), אלא לשפת ביניים – IL. בזמן הריצה, .Net Framework מבצעת את הקומפילציה האחרונה ואת ההרצה של התוכנית. גישה זו דומה לגישת קוד הביניים של שפת Java. המטרה בשתי השפות היא ליצור שפה שאינה תלוית מכונה. קוד Java יכול לראות על מגוון רחב של מחשבים ומערכות הפעלה, וסביבת .Net הינה צעד של חברת מיקרוסופט בכיוון דומה.
  • .Net מכילה ספריית מחלקות עשירה ביותר בשם CLR שזהו קיצור של השם Common Language Runtime. כל פונקציות ה-Runtime של כל שפות התכנות השונות מאוחדות ב-.Net לספריה אחת מרכזית זו ובכך מושגות מספר מטרות חשובות:
    • השפות עשירות מאוד מבחינת המחלקות המגיעות ביחד עם השפה ומבחינת האפשרויות שהן מספקות למתכנת.
    • מתכנתים יכולים לעבור בקלות יחסית בין שפות בסביבת .Net – המחלקות והפונקציות בהם הם משתמשים נשארות מוכרות ומקלות על המעבר בין השפות.
  • ASP.Net – טכנולוגיה חדשה לבניית אתרי אינטרנט, המציגה תפיסה חדשה איך צריך לבנות את האתרים, ומאפשרת שילוב של הכוח החזק של השפה עם סביבת הרשת.


מהי סביבת .Net?

סביבת .Net היא סביבת עבודה (frameworks) המספקת מחלקות שירות עימן השפה עובדת, מריצה את התוכניות שלנו בפועל ומספקת מצע עליו קמות התוכנות.

כאשר אנחנו מתכנתים בשפת C# אנחנו למעשה בונים תוכנית מעל הטכנולוגיה של הסביבה:

  • התוכנית שנכתוב תשתמש במחלקות שהינן חלק מה-CLR של סביבת העבודה.
  • הקוד שנכתוב יקומפל ל-IL. בעת הרצת הקוד סביבת .Net היא האחראית לקחת קוד זה ולהפכו לשפת מכונה.
  • סביבת העבודה מגדירה את מנגנון ניהול הזיכרון האוטומטי (Garbage Collector), את כמות הזיכרון שמשתנים בשפות השונות תופסים ופרמטרים רבים נוספים הקשורים להרצה בפועל של התוכנית.

סביבת .Net מכילה יותר מאשר את שפת C#. בנוסף ל-C#, סביבת .Net מכילה שפות נוספות כגון C++ ו-VB.Net המשתמשות אף הן בסביבת העבודה על מנת לרוץ.

 

סביבת העבודה מבית Microsoft: ויזואל סטודיו

להורדת סביבת העבודה בחינם מאתר מיקרוסופט...

לאחר ההורדה יש להמשיך במדריך, תכנית ראשונה ותחביר בסיסי. 

מאת: nadav

דוגמת הבוקסינג לא ברורה

משתנה ערך הוא INT לדוגמא. המשתנה P1 הוא משתנה ייחוס. כך שהדוגמא פשוט מבלבלת.
מאת: רכגע

using System;
public class CHelloWorld
{
public static int Main(string[] args)
{
Console.WriteLine("Hello, World!");
return 0;
}
}
מאת: סבתא של נריה

c#

מה המספר של קדישא?
מאת: סבא של נריה

c#

R.I.P אבא של נריה
מאת: אבא של נריה

c#

שלום לכולם,
אחרי מות אשתי ובני ניסיתי גם אני להיכנס לעולם הסי שארפ.
התחלתי עם console ובגלל שזה כל כך מטומטם ועלוב עברתי לאחרונה ל winforms ואם חשבתם שעכשיו חיי יהפכו טובים ופשוטים יותר חישבו שוב!!!
נתקלתי בעולם מגעיל ושפל, קורים שם דברים בלתי הגיוניים בעליל (קרדיט לאופק).
ניסיתי בסך הכל לפתוח את החלון וזה לא הגיוני לעשות את זה!!!
אי אפשר לשנות Labels כי אין דבר כזה label למרות ששמתי label!!!!
הכל לא הגיוני, ותראו את מה שקרה למתכנתי csgo:
הם ניסו בסך הכל להזיז תן ימינה , הם הגדירו label וניסו לשנות את מיקומו עם left וברגע שהם הוסיפו את הפקודה הזדונית thread.sleep בום!!!!!!! כל המחשב התכבה ופתאום, כשהם הדליקו אותו מחדש הם ניסו לעשות start לתוכנה ולהפתעתם גילו משחק יריות חדשני, עם רובים ופצצות ומפות שונות ורימונים זדוניים וסקאר!!!!
הרי למה נראה לכם שהמערכת ראנקים בלתי הגיונית??? כי סי שארפ יצר את זה ולא הם בכל!!! בקיצור, בלתי הגיוני סי שארפ!!!
דרך אגב, גם קוד האימות באתר זה נוצר בעזרת סי שארפ!!!! ולכן אם תחוו בעיות קוסמיות בעת שליחת ההודעה אל תחששו - זה סי שארפ!!! שיש!
מאת: אמא של נריה

C#

חרא של דבר זה c#.
חרא של דבר threading זה עלוב ברמות מדהימות!
אם אתם רק חושבים על להיות מתכנתים בעתיד תעשו את השלבים הבאים:
1. גשו למטבח.
2. פתחו את מגירת הסכום שלכם.
3. הוצאו סכין חד וארוך.
4. תקעו את הסכין חזק בראשכם (שימו לב! זהו השלב החשוב ביותר, בלעדיו זה לא יעבוד!)
5. תיהנו מכישורי התכנות שלכם.
מאת: נריה

c#

נודר חרא דבר זה c#

שום דבר שם לא עובד אני עושה Int וזה מוחק דברים מקובץ txt!
זה בלתי הגיוני מה שהולך פה!
מאת: משהו

סי שארפ

חרא ל דבר זה סי שארפ
מאת: משה

תודה רבה

http://www.underwar.co.il/1-Programming/d104/
מאת: אסף

עזרה

אניהתחלתי לילמוד מחשבים בבית הספר ובתוכנה של בית הספר יש את הConsole.Parse והמורה הביא לנו שיעיורים שבהם אני צריך להשתמש בזה ובC# שיש למחשב אין את המושג Parse ואני לא יודע מה לעשות.
זה 2010
מאת: ddd

שאלות

הפקודה return מחזירה למערכת ההפעלה את הפלט 0 כהוכחה לכך שהתוכנית רצה כראוי
לאחר בניית הפיתרון (build) יש ללכת לתפריט debug ואז start without debugging
מאת: ddd

shullami

למשתמש shullami
הבעיה השנייה שלך ניתנת לפתרון בקלות. באמצעות פקודת readKey(); בסוף התוכנית אתה הופך אותה לקבועה
מאת: ddd

טל

למשתמש טל
אני לא יודע למה אתה מתכוון טופס פתיחה
גבי מערכת שעות- אם אתה רוצה להציג בצורת טבלה זה פשוט ביותר

הפקודות היחידות שצריך לשלוט בהן הן WriteLine ו BackgroundColor

אם ברצונך לקבל הסבר מפורט יותר צור קשר דרך המייל roeenegby11@gmail.com
מאת: ddd

טל

למשתמש טל
אני לא יודע למה אתה מתכוון טופס פתיחה
גבי מערכת שעות- אם אתה רוצה להציג בצורת טבלה זה פשוט ביותר

הפקודות היחידות שצריך לשלוט בהן הן WriteLine ו BackgroundColor

אם ברצונך לקבל הסבר מפורט יותר צור קשר דרך המייל roeenegby11@gmail.com
מאת: ddd

עבד לי

למשתמש שרון
קודם כל צריך לדעתי להוסיף אחרי writeline והסוגריים מרכאות: ככה
Console.WriteLine(" "); ובסוף לרשום return 0
זה יוצא ככה

Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("choose a number");
int firstnumber = int.Parse(Console.ReadLine());
Console.WriteLine("choose another number");
int secondnumber = int.Parse(Console.ReadLine());
Console.WriteLine("what are you choose +,-,*,/");
char math = char.Parse(Console.ReadLine());
if (math == '+')
{
Console.BackgroundColor = ConsoleColor.Yellow;
Console.ForegroundColor = ConsoleColor.DarkMagenta;
Console.WriteLine(firstnumber + secondnumber);
}

if (math == '-')
{
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine(firstnumber - secondnumber);

}

if (math == '*')
{
Console.BackgroundColor = ConsoleColor.Cyan;
Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.WriteLine(firstnumber * secondnumber);
}

if (math == '/')
{
Console.BackgroundColor = ConsoleColor.Gray;
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine(firstnumber / secondnumber);
}


Console.BackgroundColor = ConsoleColor.Magenta;
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("do you want to continue enter yes or no");
string shalomm = Console.ReadLine();
if (shalomm == "yes")
{
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Magenta;

Console.WriteLine("choose A number");
int number33 = int.Parse(Console.ReadLine());
}
Console.WriteLine("choose another number");
int number88887 = int.Parse(Console.ReadLine());


Console.WriteLine("what are you choose +, -, *,/");
char mathi = char.Parse(Console.ReadLine());
if (mathi == '-')
{

Console.BackgroundColor = ConsoleColor.DarkMagenta;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("number33 - number88887");
}
if (mathi == '*')
{

Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("number33 * number88887");
}
if (mathi == '/')
{

Console.BackgroundColor = ConsoleColor.DarkRed;
Console.ForegroundColor = ConsoleColor.DarkCyan;
Console.WriteLine("number33 / number88887");
}
if (mathi == '+')
{

Console.BackgroundColor = ConsoleColor.DarkYellow;
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("number33 + number88887");
}
Console.ReadLine();
return 0;
מאת: ddd

שגוי?

הזנתי את הקלט הנתון לקומפיילר visual studio 2013 שלי והפלט היה לא כמו שצוין אלא:
variables: (5, 10, 12.34).
מאת: אורי שי

גירסה

לאיזו גרסת .NET ההדרכה כאן באתר רלוונטית?
תודה רבה על מדריך מקצועי מאוד
מאת: sharon

בבקשה לעזור

Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("choose a number");
int firstnumber = int.Parse(Console.ReadLine());
Console.WriteLine("choose another number");
int secondnumber = int.Parse(Console.ReadLine());
Console.WriteLine("what are you choose +,-,*,/");
char math = char.Parse(Console.ReadLine());
if (math == '+')


{
Console.BackgroundColor = ConsoleColor.Yellow;
Console.ForegroundColor = ConsoleColor.DarkMagenta;
Console.WriteLine(firstnumber + secondnumber);
}

if (math == '-')


{
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine(firstnumber - secondnumber);

}

if (math == '*')


{
Console.BackgroundColor = ConsoleColor.Cyan;
Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.WriteLine(firstnumber * secondnumber);
}

if (math == '/')


{
Console.BackgroundColor = ConsoleColor.Gray;
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine(firstnumber / secondnumber);
}


Console.BackgroundColor = ConsoleColor.Magenta;
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("do you want to continue enter yes or no");
string shalomm = Console.ReadLine();
if (shalomm == "yes")
{
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Magenta;

Console.WriteLine("choose A number");
int number33 = int.Parse(Console.ReadLine());
}
Console.WriteLine("choose another number");
int number88887 = int.Parse(Console.ReadLine());


Console.WriteLine("what are you choose +, -, *,/");
char mathi = char.Parse(Console.ReadLine());
if (mathi == '-')
{

Console.BackgroundColor = ConsoleColor.DarkMagenta;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine( number33 - number88887);
}
if (mathi == '*')
{

Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine( number33 * number88887);
}
if (mathi == '/')
{

Console.BackgroundColor = ConsoleColor.DarkRed;
Console.ForegroundColor = ConsoleColor.DarkCyan;
Console.WriteLine( number33/ number88887);
}
if (mathi == '+')
{

Console.BackgroundColor = ConsoleColor.DarkYellow;
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(number33 + number88887);
}
Console.ReadLine();
אין לי מושג למה זה לא עובד
מאת: אלי

הורשה פשוטה

אם במחלקת הבסיס (לדוג' Shape)הגדרתי Member כלשהו, איך אני פונה אליו במחלקה היורשת? (לדוג' square)
מאת: מתכנת ראשי

נדירה

וואלאק לא עזרת לי בכלום יא בוט מסריח האורים שלחה אחים
מאת: he

rey

yregfarg
מאת: זסז

סזס

זסז סזס זסז סזס
מאת: עכי

עכי

סקס
מאת: טל

טופס פתיחה

כיצד ניתן לשנות את טופס הפתיחה בפרויקט?
כמו כן, כיצד ניתן להציג מערכת שעות בצורה יפה?
מאת: idan

מה ההבדל מלעשות ירושה רגילה??

public abstract class Aminal
{
public abstract void MakeSound();
}

class Dog : Aminal
{
public override void MakeSound()
{
Console.WriteLine("Woof");
}
}

class Cat : Aminal
{
public override void MakeSound()
{
Console.WriteLine("Myaow");
}
}

class Cow : Aminal
{
public override void MakeSound()
{
Console.WriteLine("Muuuu");
}
}
מאת: אנונימי

הספר שמצורף כ-PDF לא תואם לכאן

הספר שמצורף כ-PDF לא תואם לכאן
הוא הספר למתקדמים ובעמוד עצמו אתה מסביר למתחילים,
האם תוכלו לתקן את זה בבקשה כי אני מעוניין להדפיס את זה.
תודה רבה, ויישר כוח.
מאת: o

console.read

מישהו יכול להסביר לי בפשטות מה ריד עושה?
תודה
מאת: ל.י

אשמח לקבל עזרה לכמה בעיות:
1. שמתי כפתור ב user control ורש,hו אותו לאירוע click , אבל ראיתי בbreak point שהוא לא מגיע לארוע גם בזמן לחיצה.
2.איך אומרים לmessageBox להיות מעל כל החלונות.
3. ב radioButton יש אפשרות שיתן לבטל את הבחירה? איך?
איך ניגשים לערך מסויים ב-datatable בעל שורה אחת ושתי עמודות ז"א 2 ערכים 4.ואנחנו רוצים לחלץ כל אחד בנפרד? ניגשנו כך string name=( process.Columns[0]).ToString()
וזה מביא לנו את שם העמודה במקום את הערך.
מאת: ל.י

הקסה דצימלי

איך משתמשים בהקסה דצימלי ב C#?
האם ניתן לחבר 2 משתנים מסוג הקסה ע"י +?
מאת: מרי

הרשאות גישה ל Internal

מצוין כי ניתן לגשת רק באותו Nmae Space בפועל ניתן לגשת רק באותו פרוייקט
מאת: sfsg

sgsgg

תודה
מאת: מישהו

לshullami

אם אתה עובד בvisual studio, תלחץ Ctrl+F5.
מאת: shullami

הרצת הקוד המתואר בפרק זה

כאשר מריצים את הקוד המתואר בפרק זה, המסך (console) נעלם מיד ולא רואים את התוצאה. נראה לי שכדאי לציין זאת ו/או להציעה פתרון כלשהו כמו למשל להוסיף את פקודת ה- Console.Readline על מנת לעצור את המסך.
מאת: shullami

פלט תוכנית - תצוגה שגויה

בדוגמא להגדרת משתנים בתוכנית והדפסתם, התוצאה מוצגת באופן שגוי שאינו מתאים לערכי המשתנים. או שזוהי בעיית תצוגה במחשב או שכדאי לתקן. אני משתמש ב- goodle chrome. נראה כאילו ערכי המשתנים הם 5, 112.34 ו-0, במקום 5, 10 ו- 12.34 .
מאת: יסמין

האם אני יכולה לבנות מערך של צערכים ??

Microsoft VBScript runtime error '800a005e'

Invalid use of Null: 'Replace'

/document-details.asp, line 513