עבור לתוכן

איך יוצרים פונקציה שעובדת על מערכים?(C#)

Featured Replies

פורסם

שלום כולם!

אני צריך פונקציה שתעבוד על מערך שלם, שסוגו אובייקט שאני יצרתי.

כלומר:

GameSquare [,] squares=new GameSquare[5,5]
squares.ChangeMoveToStatus(true);

כי אם אני עושה פונקציה רגילה במחלקה, היא עובדת על אובייקט בודד בלבד.

אני צריך משהו שיעבוד על מערך GAMESQUARE כמו שgetLength עובד עליו.

בדקתי על GetLength וראיתי שהוא חלק במחלקה בשם System.array .אני יכול להוסיף לה פונקציה או משהו כזה?

או שאני צריך לרשת אותה ואז להגיד לתוכנית שלי להתייחס למערכים כMyArray:system.Array במקום כsystem.array ?

עזרה בבקשה!

פורסם

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

לעשות מה שאתה רוצה על פי הסינטקס של הקוד אפשר לעשות רק עם VS 2008 עם דבר שנקרא extensions method.

פורסם

או לחילופין, להגדיר טיפוס משלך שיעטוף את המערך, ולהוסיף לו את הפונקציות שאתה רוצה.

פורסם
  • מחבר

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

חשבתי על זה, אבל חשבתתי שיהיה יפה יותר לעשות את זה עם פונקציה שעובדת על מערך.

כנראה אני באמת יעשה עם פונקציה סטטית.

או לחילופין, להגדיר טיפוס משלך שיעטוף את המערך, ולהוסיף לו את הפונקציות שאתה רוצה.

אתה מתכוון ליצור מחלקה חדשה שכל אובייקט שלה מכיל את המערך?

אם הייתי בשלב התחלתי של כתיבת הקוד הייתי עושה את זה אבל 90% מהקוד כבר כתוב וזה עכשיו באסה להתחיל לשנות.

אגב-בקשר ליצירת מחלקה שיורשת את Array, בדקתי, ומשום מה אין אפשרות לרשת אותה.

תודה על התגובות!

פורסם

כן, התכוונתי שהמערך יהיה איבר של הקלאס.

אכן אי אפשר לרשת ממערך, כי מערך הוא לא טיפוס נורמלי בדיוק.

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

פורסם
  • מחבר

אני כנראה לא יגדיר את המערך בתוך קלאם אחר כי זה כבר יהיה overkill ולא ישרת את המטרות של יצירת הפרוייקט.

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

ארכיון

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

דיונים חדשים