ABA


"שאלות לימודית בשפת C#, תוך כדי קריאה מספר,"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10223 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10223
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   19:58   08.01.11   
אל הפורום  
  שאלות לימודית בשפת C#, תוך כדי קריאה מספר,  
 
   שלום לכולם, אני לומד C# ולמדתי על Enum.
הכל ברור ומובן, אבל השאלה החשובה ביותר היא איזה דוגמא טובה יש לשימוש ב Enum?

דבר שני, למדתי על out ו ref.
השאלה שלי אם כבר משתשמים ב ref לא עדיף לרשום תמיד out?
למה כבר לא עשו את זה מאוחד? שאם תרצה תאתחל אותו אם לא אז פשוט לא?

ואיזה שימושים יש לאובייקט כמו object?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  נתחיל עם object Nesher  08.01.11 21:03 1
     יפה eladmi  08.01.11 22:39 2
     out זה לא דבר מיותר ברמות? akoka2 08.01.11 23:11 3
         דוגמא לשימוש ב OUT El-Ad 09.01.11 00:48 4
         במידה ויש לך פונ' שצריכה להחזיר מס' ערכי החזר Nesher  09.01.11 03:00 5
         למה לך לרצות ליצור קלאס כסתם ערך החזרה חד פעמי? ldan192  09.01.11 12:42 8
             וקטור = מערך? Nesher  09.01.11 12:48 9
                 אז זהו, כנראה ב-Java אי אפשר (לפחות לא עד 1.6) ldan192  10.01.11 13:04 11
             לא דיברתי על קלאס, akoka2 10.01.11 12:55 10
     תודה נשר, עזרת לי שוב. dvir8 09.01.11 08:11 6
         בכיף.. :) Nesher  09.01.11 09:10 7

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   21:03   08.01.11   
אל הפורום  
  1. נתחיל עם object  
בתגובה להודעה מספר 0
 
שזה מחלקת הבסיס לכלל המחלקות
כל אובייקט וטיפוס יורש בסוף מ-object
השימוש שלך יכול להיות לכל דבר, רשימת פרמטרים מטיפוסים שונים לפונ'
(כשעושים Invoke למתודה במנגנון Reflection למשל)
או מערך של אובייקטים שהטיפוס שלהם לא ידוע (ArrayList)
ועוד ועוד..

ref זה העברת פרמטר כרפרנס (כשמו כן הוא)
זאת אומרת שאם אתה מעביר פרמטר עם ref לפונ'
כל שינוי שתעשה לפרמטר בתוך הפונ' הוא כמובן ישמר באובייקט שהעברת לפונ'

out זה ערך הוצאה מהפונ'
זאת אומרת שהוא אמור להיות מאותחל בתחילת הפונ' (אם אני זוכר נכון)
ובכל מקרה חייב לתת לו ערך החזר בסוף הפונ'


לגבי Enum
השימוש העיקרי שלו זה לדגלים
אם למשל תשתמש בפונ' MessageBox.Show
יש לך פרמטרים שלמשל יכולים להגיד אם זה מימין לשמאל או להיפך
או איזה אייקון להשתמש וכו'..
במקום שקשה מאוד יהיה להשתמש נגיד במס' או במלל (מה יותר נוח? לרשום 0 ל-"מימין לשמאל" לרשום "RTL" כמחרוזת או שתקבל בהשלמה MessageBoxOptions.RtlReading)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
eladmi 
חבר מתאריך 11.5.02
1465 הודעות
   22:39   08.01.11   
אל הפורום  
  2. יפה  
בתגובה להודעה מספר 1
 


THE Joker


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   23:11   08.01.11   
אל הפורום  
  3. out זה לא דבר מיותר ברמות?  
בתגובה להודעה מספר 1
 
   מה הבעיה פשוט לעשות return למה שאנחנו רוצים להחזיר?:|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
El-Ad
חבר מתאריך 27.9.08
5123 הודעות
   00:48   09.01.11   
אל הפורום  
  4. דוגמא לשימוש ב OUT  
בתגובה להודעה מספר 3
 
   למשל הפונקציה
bool int.TryParse(string s, out int i)
הפונקציה מחזירה האם הוא הצליח או נכשל, וב out int את הערך שהיא הסבה.
מכיוון שאי אפשר לעשות 2 ערכי החזר לפונקציה, זה שימוש טוב לדעתי ב OUT


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   03:00   09.01.11   
אל הפורום  
  5. במידה ויש לך פונ' שצריכה להחזיר מס' ערכי החזר  
בתגובה להודעה מספר 3
 
כמו ש-El Ad הביא דוגמא...
להחזיר מערך של object זה חוראני
להחזיר אובייקט (שכנראה תצטרך ליצור במיוחד בשביל זה) שמכיל את כל הערכי החזר זה גם קצת חוראני..

זה לא מיותר בכלל אבל תכלס, לא משתמשים בזה בכל כך הרבה מקומות...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   12:42   09.01.11   
אל הפורום  
  8. למה לך לרצות ליצור קלאס כסתם ערך החזרה חד פעמי?  
בתגובה להודעה מספר 3
 
אתה לא יכול ב-C# (תקנו אותי אם חידשו משהו) וקטורים עם אלמנטים מטיפוסים, במיוחד כשמדובר בפרימטיביים...


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   12:48   09.01.11   
אל הפורום  
  9. וקטור = מערך?  
בתגובה להודעה מספר 8
 
בטיפוסים פרמטיביים ואפילו מחלקות אתה יכול להחזיר object[]
העניין הוא שאתה חייב לדעת כל אינדקס מה הוא אומר
class/struct מפשטים לך את זה (גם יותר נעים לעין וגם נוח למי שמשתמש במתודה)
העניין הוא שלהחזיר מערך אובייקטים זה כמו שאמרתי.. חוראני


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   13:04   10.01.11   
אל הפורום  
  11. אז זהו, כנראה ב-Java אי אפשר (לפחות לא עד 1.6)  
בתגובה להודעה מספר 9
 
בכל מקרה, זה באמת חוראני.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   12:55   10.01.11   
אל הפורום  
  10. לא דיברתי על קלאס,  
בתגובה להודעה מספר 8
 
   דיברתי על פונקציה פשוטה שאמורה להחזיר ערך, למה לי להשתמש בOut?

אם אני ארצה להחזיר מספר ערכים או שאני אשתמש בref על משתנים מבחוץ, ששהפונקציה שלי תחזיר ArrayList או List<T> זה נראה לי הגיוני יותר.

יכול ליהיות שיש סיבות עמוקות יותר להשתמש בout(זיכרון וכאלה).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   08:11   09.01.11   
אל הפורום  
  6. תודה נשר, עזרת לי שוב.  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   09:10   09.01.11   
אל הפורום  
  7. בכיף.. :)  
בתגובה להודעה מספר 6
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net