תודה רבה על כל העצות - וכולנו זכינו כאן להרבה דברים טובים, אמנם לצערי במקרה הזה בכלל אין לינק.
מדובר על פסקאות של מסמך (וורד או אינדיזיין), ושם אין IEnumerable. (וגם לא עוזר המרה, כי הוא לא מקיים את האינטרפייס) ולכן צריך לסרוק אותם אחד אחד, והפתרון הראשון יותר תואם מבחינת הלולאה. אך דא עקא שזה באמת לוקח הרבה זמן, וגם באמת אני צריך גם את מה שלפניו עם כמה וכמה תנאים וגם אם מה שאחריו וכמה וכמה תנאים, וכמובן גם אותו, עם כמה וכמה תנאים, כולם שונים אחד מהשני . (חשבתי את התנאי הקשור לפסקה המרכזית אוכל בנקל להכניס ללינק והיה חסר לי הענין של האינדקס). ובאמת הוספתי לטיפוס המרכזי אקסטנשן כדי שיהא יותר נח לכתוב, אך גם בזה יש מתודות אבל לא פרופרטיז.
אז כדי לחסוך בזמן בניתי מחלקה עוטפת מותאמת אישית של PARA, ולה יש PROP של current, next, prev בהתאמה.
ומטעמי חסכון אני עובר בלולאה אחת על הכל, ואם מצאתי משהו בתנאי המרכזי, כלומר בפסקה בנוכחית, אני מכניס אותו, ואת הקודם לו ואת הבא אחריו לאובקיט, ועושה מהם ליסט חדש.
על ליסט, יש לינק, ואז זה ממש PROP רגילים שעושים עליהם לינק בלי קשר למקום שלהם ברשימה. ואחרי זה אני מפעיל את האופרציה הנדרשת על הרשימה המסוננת מכל וכל. ככה גם הקוד קריא יותר, כי לשים באותה לולאה גם את התנאים על כל שלושת החברים עושים בלאגן גדול.
פורסם במקור בפורום CODE613 ב22/12/2016 00:04 (+02:00)