0

给定这样的列表...

string[] fields = new[]
{
     "Value1", 
     "TableStart:Value2", 
     "Value3", 
     "Value4", 
     "TableEnd:Value2", 
     "Value5", 
     "Value6"
};

有没有一种方法可以在不编写循环的情况下检索“TableStart”和“TableEnd”语句之间的所有信息?我认为 Linq 可能有一些方法可以实现这一点,但我想不出一个。

在上面的示例中,我期望一个包含“Value3”和“Value4”的列表。

4

1 回答 1

4

也许:

var result = fields.SkipWhile(s => !s.Contains("TableStart"))
                   .Skip(1)
                   .TakeWhile(s => !s.Contains("TableEnd"))
                   .ToList();

但我更喜欢一个简单的循环。

于 2012-10-31T19:02:41.447 回答