Se si dovesse avere un sistema di denominazione nella vostra applicazione in cui l'applicazione contiene dire 100 azioni, che crea nuovi oggetti, come:Generare la prossima disponibile nome univoco in C#
Blur
Sharpen
Contrast
Darken
Matte
...
e ogni volta che si utilizza uno Di questi, una nuova istanza viene creata con un nome modificabile univoco, come Blur01
, Blur02
, Blur03
, Sharpen01
, Matte01
, ecc. Come si genera il prossimo nome univoco disponibile, in modo che si tratti di un'operazione O (1) o quasi costante . Tenete a mente che l'utente può anche cambiare il nome ai nomi personalizzati, come RemoveFaceDetails
, ecc
E 'accettabile avere alcuni vincoli, come limitare il numero di caratteri a 100, utilizzando lettere, numeri, caratteri di sottolineatura, ecc ..
MODIFICA: È inoltre possibile suggerire soluzioni senza "riempire gli spazi vuoti" che è senza riutilizzare i nomi già utilizzati, ma cancellati, ad eccezione di quelli personalizzati, naturalmente.
Solo per essere difficile: se si utilizza lo schema suggerito, come si prevede di distinguere il 113 "Sfocatura" (Blur112) e il 13 "Blur1" (anche Blur112)? –
Buon punto, non ci ho pensato. Immagino di doverlo pensare. Qualche idea? –