בסוף הסאגה, מתברר שבתנאי היה צריך לבדוק על אוביקטים שכבר נמחקו מכיון שההשואה שלהם התקבלה, ולכן הם לא היו בכלל קימים. ומה שמענין הוא שאת האוביקט עצמו כלומר ההשואה עצמה הוא כן מזהה אבל לא את התכונות שלה. כלומר אם אני בודק אם הוא קיים הוא מחזיר שכן, אבל אין גישה לפרופרטיז, אולי קשור לGB.
בכל אופן עשיתי משהו אחר, לאור כל הנ"ל, פשוט עשיתי רשימה טובה כמו שהתבאר לעיל. אחרי זה בדקתי את התנאים, והכנסתי את האינדקס של כל אחד מהם לרשימה. אחרי זה, כדי שלא לפול בפח הזה של שינוי האינדקזים הפכתי את סדר הרשימה.
וכעת אני מריץ על הרשימה הזו את הדחיה והקבלה. וככה האינדקס שמפנה הוא מהאחרונים ולכן הוא לא משנה את הסדר של הראשונים.
זה נראה משהו כזה ב
revList.Add(new revsInOrder { prev = revisions[revisions.Count - 2], next = null, current = revisions[revisions.Count - 1] });
List<int> intList = new List<int>();
for (int i = revList.Count-3; i > 0; i--)
{
if (revList[i].next.Range.Start == revList[i].current.Range.End)
{
intList.Add(revList[i].current.Index);
}
}
intList.OrderByDescending(p=>p);
foreach (var item in intList)
{
doc.Revisions[item].Accept();
}
פורסם במקור בפורום CODE613 ב21/08/2017 23:42 (+03:00)