假設我們有以下列表。查找下一個編號項目符號文字
- 物品1
- 列表項
- 列表項
- 列表項
- 列表項
我有子彈3的範圍內,我想用C#尋找它的下一個子彈。 需要關於此的幫助。
私人範圍ListParaRangeNext(量程範圍) {
Range forparas = range.Duplicate;
ListParagraphs paras = null;
if (range.ListFormat.List != null)
{
paras = range.ListFormat.List.ListParagraphs;
//MessageBox.Show(paras.Count.ToString());
}
else
{
forparas.SetRange(range.Start, range.StoryLength - 1);
paras = forparas.ListParagraphs;
}
List<Paragraph> ienum = paras.Cast<Paragraph>().ToList();
//ienum = (from para in ienum
// where para.Range.ListFormat.ListLevelNumber == range.ListFormat.ListLevelNumber
// && para.Range.End > range.Start
// select para).ToList();
List<Paragraph> temp = new List<Paragraph>();
for (int i = 0, length = ienum.Count; i < length; ++i)
{
if (ienum[i].Range.ListFormat.ListLevelNumber == range.ListFormat.ListLevelNumber && ienum[i].Range.End > range.Start)
temp.Add(ienum[i]);
}
ienum = temp;
ienum = ienum.OrderBy(o => o.Range.Start).ToList();
if (ienum.Count > 1)
{
Range current = ienum[1].Range;
if (current.ListFormat.ListValue - 1 == range.ListFormat.ListValue)
{
return current;
}
}
return null;
}
我使用這個功能找到,但它走我的大部分程序的時間。 有任何優化建議?
對不起,什麼? –