给出一个像这样的列表......
string[] fields = new[]
{
"Value1",
"TableStart:Value2",
"Value3",
"Value4",
"TableEnd:Value2",
"Value5",
"Value6"
};
有没有办法可以在不编写循环的情况下检索“TableStart”和“TableEnd”语句之间的所有信息?我认为Linq可能有某种方法可以实现这一点,但我无法想出一个。
在上面的示例中,我希望列表包含“Value3”和“Value4”。
答案 0 :(得分:4)
也许:
var result = fields.SkipWhile(s => !s.Contains("TableStart"))
.Skip(1)
.TakeWhile(s => !s.Contains("TableEnd"))
.ToList();
但我更喜欢简单的循环。