標題並不完全有意義,但我不會分享其他名稱。我稍後寫了一個TOC Generation代碼。基於此,我正在編寫代碼來檢查重複項。代碼如下所示代碼的替代實現方式
curNumber = getTOCReference(selItem.SNo, IsParent);
CheckForDuplicates(curNumber, IsParent,out realTOCRef);
curNumber = realTOCRef;
而對於CheckForDuplicates代碼
ListViewItem curItem = this.tlvItems.FindItemWithText(curNumber);
if (curItem != null)
{
curNumber = this.getTOCReference(curNumber, !IsParent);
CheckForDuplicates(curNumber, IsParent,out realTOCRef);
}
else
{
realTOCRef= curNumber;
}
這個代碼做什麼,它得到一個TOC,並試圖找到它,如果它已經在ObjectListView存在,並且獲得新的TOC如果有現有的TOC。一旦它確定生成的TOC不在列表中,它會將其存儲在realTOCRef中並將其發送回主調用代碼。
我用「out」返回最後生成的TOC,這是我不想做的事情。我之所以這麼做是因爲生成了非重複的TOC之後,返回結果並沒有返回到調用代碼,而是循環遍歷之前的實例,然後返回。當發生環回時,要返回的TOC也被重置。
我將不勝感激任何幫助。
問題不是很清楚。我希望你正在尋找重構CheckForDuplicates代碼並按如下方式進行調用。 -------------- 現有的: CheckForDuplicates(curNumber,IsParent,out realTOCRef); curNumber = realTOCRef; ----------- 必需: curNumber = CheckForDuplicates(curNumber,IsParent); – 2010-05-22 04:15:07