Crew .NET |
|
Je kan niet echt veel anders doen want je zult de twee arrays moeten doorlopen om te controleren op die projectnummer. Het enige dat ik direct zie om nog tijd te besparen is in je functie. Hier loop jij door de projectnummers om te zien of het "Subject" die nummer bevat. Maar zelfs al bevat hij die nummer, dan nog blijf jij verder loopen tot het einde. Je vertelde dat er 103 projectnummers zijn, stel dan dat een "Subject" het eerste projectnummer al heeft, dan ga jij nog 102 keer de controle doen. Je lost dit op door direct een return te doen met de IndexOf() van het nummer in het "Subject". Ik heb ook op de controle zelf gebruik gemaakt van de functie Contains(), bevat het "Subject" een projectnummer dan pas ga je IndexOf() gebruiken om terug te sturen.
private int getProjectnummerFromSubject(string Subject)
{
//Je krijgt een "Subject" binnen en gaat controleren via de loop
//of het een projectnummer bevat
foreach (string projectnummer in Ribbon.projectnummers)
//Als "Subject" een projectnummer bevat
if (Subject.Contains(projectnummer))
//Direct return doen waardoor je niet verder loopt en
//meteen uit de functie springt mét de IndexOf()
return Subject.IndexOf(projectnummer);
//Als er geen is gevonden, -1 terugsturen
return -1;
}
//Zonder Commentaar ertussen:
private int getProjectnummerFromSubject(string Subject)
{
foreach (string projectnummer in Ribbon.projectnummers)
if (Subject.Contains(projectnummer))
return Subject.IndexOf(projectnummer);
return -1;
}
private int getProjectnummerFromSubject(string Subject) { //Je krijgt een "Subject" binnen en gaat controleren via de loop //of het een projectnummer bevat foreach (string projectnummer in Ribbon.projectnummers) //Als "Subject" een projectnummer bevat if (Subject.Contains(projectnummer)) //Direct return doen waardoor je niet verder loopt en //meteen uit de functie springt mét de IndexOf() return Subject.IndexOf(projectnummer); //Als er geen is gevonden, -1 terugsturen return -1; } //Zonder Commentaar ertussen: private int getProjectnummerFromSubject(string Subject) { foreach (string projectnummer in Ribbon.projectnummers) if (Subject.Contains(projectnummer)) return Subject.IndexOf(projectnummer); return -1; }
Ik zie niet meteen een oplossing die dit véél sneller kan maken, maar de functie die ik je gaf zal al wel een heel pak tijd schelen! |