Het viel mij op dat er (jammer genoeg) de laatste tijd erg weinig C#-topics in dit forum te vinden zijn.
Daarom leek het mij aardig om een thread te beginnen met handige String-functies.
In de vele 'libraries' van .NET zijn natuurlijk vele handige stringfuncties in vele classes te vinden, zo is er bijvoorbeeld de StringBuilder-class voor het eenvoudig concateneren van strings of de RegEx voor reguliere expressies.
Ik ben echter van mening dat er nog wel wat aardige stringfuncties te verzinnen zijn. (Al is het alleen al om gewoon wat ervaring met C# op te doen...
)
Hier in de c-sharpcorner zijn enkele voorbeelden te vinden van wat ik bedoel en hieronder geef ik 2 voorbeelden van een Remove-method. (Voor de 'die-hards': Welke van de 2 is het meest gunstig qua performance of geheugengebruik?
)
Wie neemt deze uitdaging aan bij het verzinnen van handige, leuke of moeilijke stringfuncties?

en:
PS. Jammer genoeg is de string-class sealed, maar dat betekent nog niet dat je niet zelf je eigen MyString-class kunt definieren en daarin de string-class kunt incapselen...
In de vele 'libraries' van .NET zijn natuurlijk vele handige stringfuncties in vele classes te vinden, zo is er bijvoorbeeld de StringBuilder-class voor het eenvoudig concateneren van strings of de RegEx voor reguliere expressies.
Ik ben echter van mening dat er nog wel wat aardige stringfuncties te verzinnen zijn. (Al is het alleen al om gewoon wat ervaring met C# op te doen...
Hier in de c-sharpcorner zijn enkele voorbeelden te vinden van wat ik bedoel en hieronder geef ik 2 voorbeelden van een Remove-method. (Voor de 'die-hards': Welke van de 2 is het meest gunstig qua performance of geheugengebruik?
Wie neemt deze uitdaging aan bij het verzinnen van handige, leuke of moeilijke stringfuncties?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public string Remove(string strValue, char[] characters) { int intIndex; intIndex = strValue.IndexOfAny(characters); while (intIndex>=0) { // call the Remove-method of a string strValue = strValue.Remove(intIndex, 1); intIndex = strValue.IndexOfAny(characters); } return strValue } |
en:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| public string Remove(string strValue, char[] characters) { int intIndex; intIndex = strValue.IndexOfAny(characters); for(int i=0;i<characters.Length;i++) { strValue = strValue.Replace(new string(characters[i],1), ""); } return strValue } |
PS. Jammer genoeg is de string-class sealed, maar dat betekent nog niet dat je niet zelf je eigen MyString-class kunt definieren en daarin de string-class kunt incapselen...