In queta occasione (solo in questa) non mi interessa l'aspetto delle prestazioni, ma quello della validazione. Nel vecchio VB5 se creavo una stringa
Dim s As String*10
s = "xxxxxxxxxx" (10 ics)
e poi cercavo di "forzarla" per esempio con
Mid(s, 5, 20) = "12345678901234567890"
il risultato era
s = "xxxx123456"
giustamente. Questa stringa non è "middabile" oltre il suo fixedlength. Cerco la stessa cosa in C#, che peraltro non ha la funzione del Mid (almeno non mi risulta). Devo verificare se le proprietà che ho scritto nel codice possano impedire un Mid forzato (potrebbero essere solo a protezione di una validazione ma non di un Mid forzato). Voi direte "Ma allora chiedi prima di verificare?". Si, anche se quelle proprietà riescono a impedire un Mid forzatoi a me sembra un codice troppo macchinoso e cerco lo stesso servizio di String*10 con meno codice.
P.S. Si, ho verificato che quelle proprietà rendono la stringa non middabile:
codice:
R r1 = new R();
r1.nome = "123456789012345678901234567890";
MessageBox.Show(r1.nome); ------> dà "1234567890123456789012345" (GIUSTO)
r1.nome = r1.nome.Insert(20, "xxxxxxxxxxxxxxxxxx");
MessageBox.Show(r1.nome); --------> dà "12345678901234567890xxxxx" (GIUSTO)