עבור לתוכן

C#: איך לממש toString של ArrayList?

Featured Replies

פורסם

המטרה: שאוכל לכתוב משהו כזה

ConsolWrite(ary)

ואז באופן אוטומטי ידפיס לי את כל אברי המערך (מסוג arrayList)

הבעייה: הפונקציה אמורה להחזיר מחרוזת. אבל מה להחזיר? כי צריך להציג כל תא במערך.

פורסם

אתה לא יכול פשוט להדפיס מערך/Collection. תנסה להשתמש בלולאה כדי להדפיס את הערכים.

פורסם

תירש מ-ArrayList (בהנחה שאפשר) ואז תממש את המתודה במחלקה שלך:


public override string ToString()
{
// Create a long string with all arraylist elements here.
}

פורסם

אם הוא כבר טורח לרשת ולדרוס את ToString אז שירש כבר מ List ויעבוד עם List שהיא ג'נרית ועדיפה (אין כיום סיבה ממשית לעבוד עם ArrayList חוץ מלתאימות עם .net 1.1 ).

פורסם

חשבתי שזה אולי בדיוק מה שהוא מחפש

פורסם

נכון, רק ציינתי לו שעדיף שיעבור להשתמש ב List. אם כבר הוא יורש מהמחלקה ומרחיב את הפונקציונליות שלה אז שיעבור להשתמש ב List שמציעה יתרונות על פני ArrayList, כמו למשל העובדה שהיא strong typed ומציעה ביצועים טובים יותר עבור value types.

אגב, כדי להדפיס List הוא גם יכול להשתמש במתודה ForEach שלה. לדוגמה, עבור List של string-ים:

myList.ForEach(delegate(string s) { Console.Write(s + " "); });

עריכה: בהתחלה הפוסט שלו היה קצת שונה והוא שאל איך הוא יכול להדפיס ArrayList (לא איך לממש את ToString).

פורסם
  • מחבר

ממש תודה

ארכיון

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

דיונים חדשים