עבור לתוכן

האם בC# אפשר לפנות לשם משתנה בעזרת משתנה אחר?

Featured Replies

פורסם

למה אתם צריכים לקרוא להם בכלל בשמות :nixweiss:

כל השיטה עם השמות מגושמת ומיושנת

תיצרו DIC

תכניסו שם את האוביקט ואז תמקמו אותו גם על הUI

ותפנו אליו בעזרת ה DIC שיש לו REF לאוביקט במסך

Dictionary<int, PictureBox> Bord= new Dictionary<int,PictureBox>(200);

Bord.Add("PictureBox22", PictureBox);

this.pannel.addControl(PictureBox);

אם רוצים לפנות לתמונה פונים דרך ה Dictionary

((Bord[2]).FillColor =

  • תגובות 36
  • צפיות 3.8k
  • נוצר
  • תגובה אחרונה

משתתפים בולטים בדיון

פורסם

קראת בכלל את כל מה שנכתב לפני התגובה שלך ?

גם גישה לאיבר במערך בגודל קבוע קצת יותר מהירה ממילון.

לא צריך לעשות המרה לסוג משתנה כי מילון הוא type safe.

פורסם

קראת בכלל את כל מה שנכתב לפני התגובה שלך ?

גם גישה לאיבר במערך בגודל קבוע קצת יותר מהירה ממילון.

לא צריך לעשות המרה לסוג משתנה כי מילון הוא type safe.

גם מה שרשמתי הוא type safe

ומה שנחמד שזה פיתרון כללי יותר לפניה בעזרת NAME ולא מספר סידורי

פורסם

טוב, אני אניח שלא קראת כלום (וגם מחקת קצת אחרי שהגבתי את ההמרה של as). אתה גם עשית פה פניה בעזרת מספר סידורי, ולכן עדיף מערך בגודל סטטי אם הגודל ידוע מראש (או שיש חסם סביר) מאשר בכל גישה להריץ פונקציית ערבול.

פורסם

טוב, אני אניח שלא קראת כלום (וגם מחקת קצת אחרי שהגבתי את ההמרה של as). אתה גם עשית פה פניה בעזרת מספר סידורי, ולכן עדיף מערך בגודל סטטי אם הגודל ידוע מראש (או שיש חסם סביר) מאשר בכל גישה להריץ פונקציית ערבול.

הפיתרון שמשתמש ב generics ולא מצריך casting

אתה יכול להשתמש גם ב string

Dictionary<string, PictureBox> Bord= new Dictionary<string,PictureBox>(200);

אין שום בעיה להשתמש במערך.

יותר פשוט להשתמש ב doctionary ומבחינת ביצועים אין הבדל

(חוץ מזה ש dictionary תופס יותר זיכרון ככול שיש יותר ערכים

ן כי המפתחות ממויונים באינדקס

ולכן הגישה אלהם גם מהירה ביותר)

הביטוי

Bord["PictureBox83"]

מחזיר לך אובייקט Picturebox ללא צורך בcasting

יום טוב

פורסם

צודק, אין הבדל בין לגשת לכתובת ישירה בזיכרון (מערך סטטי בכל מימוש אפשרי) לבין בכל גישה להסתמך על מימוש של סביבה שכוללת הרצת פונקציית ערבול בכל גישה, בדיקת דליים וכו' (מילון). ההבדל אולי זניח ותלוי מה אתה רוצה לעשות, אבל אם אין צורך לעשות משהו, לא חייבים.

אתה עדיין מתכחש שזה לא מה שרשמת בזמן שערכת עם טעונים כמו מתכנת מתחיל, תהנה.

פורסם

למה לא להשתמש במערך? או בווקטור? אני בספק אם הבנתי את השאלה.

בכל מקרה, בהצלחה אחי.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים