C# 返回所有剩余的项目
我有一个项目的IEnumerable列表,我可以从中生成项目。在IEnumerable中,我正在解析用正则表达式拆分的字符串(按空格拆分字符串)。字符串被分成我称为“节”的部分。在获得第5节和第6节之后,我需要获得之后的所有节,如何在不明确指定的情况下做到这一点?以下是我到目前为止的情况:C# 返回所有剩余的项目,c#,c#-4.0,C#,C# 4.0,我有一个项目的IEnumerable列表,我可以从中生成项目。在IEnumerable中,我正在解析用正则表达式拆分的字符串(按空格拆分字符串)。字符串被分成我称为“节”的部分。在获得第5节和第6节之后,我需要获得之后的所有节,如何在不明确指定的情况下做到这一点?以下是我到目前为止的情况: yield return new Item { Product = sections[5], P
yield return new Item
{
Product = sections[5],
Price = sections[6],
// Medadata = sections[?], ////This part is comprised of many sections
};
您可以使用
跳过:
Medadata = sections.Skip(7).ToArray()
它跳过参数中的项数,并将从那里继续读取,生成“剩余”项
如果要将所有剩余项放在一个字符串中,可以将它们连接起来(例如,我使用空格作为分隔符):
您能否确认您的元数据属性的数据类型?e、 g.string
,string[]
,其他一些东西?似乎是一个合理的假设,但是OP最好确认数据类型以验证此答案。例如,OP可能试图将其转换回一个空格分隔的字符串…@Patrick Hofman嗯,得到的结果是:无法隐式地将string[]类型转换为string。这是用于拆分的正则表达式:正则表达式(@“[\s]+|[\t]”);听起来像是元数据
属于字符串
类型,因此将其设置为字符串[]
或查看字符串。加入以连接部分[]
中的其余项。
Medadata = string.Join(" ", sections.Skip(7))