For completeness, here is the LINQ version with query syntax :)
string[] lines = new string[] {
"@@MMIVLoader@ProductVer@4.1.2@BCM_7400S_LE@Product@Aug 21 2009@",
"@@MMIVLib@ObjectVer@4.1.2@BCM_7400S_LE@Product@Aug 21 2009@",
"@@HuaweFGDLDrv@ObjectVer@01.00.09@7324@PRODUCT@Aug 20 2009@",
"@@ProtectVer@ObjectVer@127.8.1 @BCM_SDE5.03@PRODUCT@Aug 4 2009 06:56:19@",
"@@KernelSw@ObjectVer@0.0.1@BCM-7454@PRODUCT@ Dec 19 2007@",
"@@ReceiverSw@ObjectVer@E.5.6.001@HWBC01ZS@PRODUCT@May 3 2010@" };
var q = from components in
(from line in lines
select line.Split(new char[] { '@' },
StringSplitOptions.RemoveEmptyEntries))
select new { Name = components[0], Version = components[2] };
foreach (var item in q)
{
Console.WriteLine("Item: Name={0} Version={1}", item.Name, item.Version);
}
source
share