【发布时间】:2013-06-21 11:04:09
【问题描述】:
我有一个名为“复杂”类型的列表:
List<Complex> list = new List<Complex>();
...
class Complex
{
public string Header { get; set; }
...
...
...
}
列表中有一些重复的标题,这些表示新部分的开始。每个部分的长度可能不同,如下所示:
start 1 2 3 4 5 6 7 start 1 2 3 start 1 2 3 4 5 6 start 1 start 1 2
我想使用 LINQ 获取所有可能的 Complex 类型的子列表;也就是所有带头的对象,如下:
- 1 2 3 4 5 6 7
- 1 2 3
- 1 2 3 4 5 6
- 1
- 1 2
我怎样才能仅使用 LINQ 完成此操作?
编辑: 在html页面解析期间创建列表
<tr>
<td>00:00<!--//-00:00--></td>
<td>15:00<!--//-00:00--></td>
<td class="txt_left"><a href="">News</a></td>
<td><a href="/TsV2/TV_Video_On.asp?PROG_CODE=TVCR0114">
<img src="/images/new/sub_new/icon_play01_off.gif" alt="play" class="rollover"/></a></td>
</tr>
<tr>
<td>00:15<!--//-00:00--></td>
<td>15:15<!--//-00:00--></td>
<td class="txt_left">
<a href="Tv_Pagego.asp?PROG_CODE=TVCR0556">Nice one</a></td>
<td><a href="/TV2w/TV_2Video_On.asp?PROG_CODE=TVCR0556"><img src="/images/new/sub_new/icon_play01_off.gif" alt="play" class="rollover"/></a></td>
</tr>
【问题讨论】:
-
标头是唯一值还是始终相同(“开始”)?
-
在“重复标题”的问题中,您是否尝试过 .GroupBy(x => x.Header)?
-
@DaveWilliams Group by 在这种情况下不起作用。
-
你需要使用 LINQ 吗?它是一个简单的运行槽经典循环。
-
@AdamHouldsworth 为什么不呢?如果标题只是问题中列出的标题,它会起作用,否则问题应该更清楚......