To jest moje źródło ciąg:Przelotowe Regex zestawienia
<box><3>
<table><1>
<chair><8>
To mój Regex Patern:
<(?<item>\w+?)><(?<count>\d+?)>
To moja klasa Element
class Item
{
string Name;
int count;
//(...)
}
To moja kolekcja Element ;
List<Item> OrderList = new List(Item);
Chcę wypełnić tę listę pozycjami opartymi na łańcuchu źródłowym. To jest moja funkcja. To nie działa.
Regex ItemRegex = new Regex(@"<(?<item>\w+?)><(?<count>\d+?)>", RegexOptions.Compiled);
foreach (Match ItemMatch in ItemRegex.Matches(sourceString))
{
Item temp = new Item(ItemMatch.Groups["item"].ToString(), int.Parse(ItemMatch.Groups["count"].ToString()));
OrderList.Add(temp);
}
Threre może być kilka małych błędów, takich jak brakujące litery to ten przykład, ponieważ jest to łatwiejsze wersja tego, co mam w mojej aplikacji.
Problem polega na tym, że w końcu mam tylko jedną pozycję w liście zamówień.
UPDATE
mam to działa. Thans o pomoc.
Po prostu uruchomiłem - działa jak oczekiwano (3 pozycje na liście). – ChrisWue
Znalazłem swój błąd. – Hooch
Czy możesz to udostępnić? Może pomóc komuś, jeśli napotka na ten sam problem. – ChrisWue