假设我们有以下列表。
我有子弹3的范围,我想用C#找到它的下一个子弹。 需要帮助。
{{1}}
我正在使用此功能查找,但它占用了我的程序的大部分时间。 建议进行任何优化吗?
答案 0 :(得分:0)
如果你有字符串列表 - 找到一些成员并获得它的索引。并且下一个项目的索引将增加1。
var index = lists.IndexOf(lists.FirstOrDefault(x => x == "222"));
var next = lists[index + 1];
答案 1 :(得分:0)
您的列表是段落/范围的集合
跳转到您使用的下一个项目符号
Range.Next Unit:=wdParagraph
对于" 线性列表"但是列表是" 普通"段落,您需要检查ListFormat
属性,以帮助您确定它是否是列表项
<强> [编辑] 强>
以下是获取范围对象的示例代码
In VSTO
Range rng = Globals.ThisAddIn.Application.Selection.Range;
Range new_rng = rng.Next(WdUnits.wdParagraph);
In VBA
Dim rng As Range
Set rng = Selection.Range
Dim new_rng As Range
Set new_rng = rng.Next wdParagraph
我没有测试但它应该可以工作