Ciao a chiunque leggerà questo post![]()
Innanzi tutto volevo puntualizzare che più che il codice pronto, mi interessava capire il mio errore e discuterne con voi.
Vi spiego cosa devo realizzare. Devo creare un programma che permetta all'utente di poter digitare qualsiasi cosa in un TextBox, e in un TextBlock compaia ciò che lui ha scritto ma con i caratteri messe a caso.
Ora il TextBox si chiama: sorgente, ed il TextBlock si chiama: Casualizza .
Il codice che ho riportato di seguito non da nessun errore, solo che al debug quando tento di scrivere qualcosa all'interno del TextBox, mi si blocca con l'errore nella linea:
Con la seguente scritta: Impossibile eseguire il cast di oggetti di tipo 'System.Random' sul tipo 'System.IConvertible'.codice:int r_1 = Convert.ToInt16(rnd_1);
Ho provato a cercare su internet, ma mi pare che la conversione tra random e int è stata fatta correttamente, e mi sembra anche che il ragionamento che ho fatto per invertire i caratteri è giusto.
Potete spiegarmi dov'è l'errore?
---Ecco il Codice---
codice:Casualizza.Text = ""; Random rnd_1 = new Random(); char[] csl_1 = new char[sorgente.Text.Length]; for (int i = 0; i < sorgente.Text.Length; i++) { int r_1 = Convert.ToInt32(rnd_1); int r_2 = (int) r_1; if (r_1 >= 0 && r_1 < 36) { Casualizza.Text = Convert.ToString(sorgente.Text[r_2]); } else { Random rnd_2 = new Random(); for (int t = 0; t < 1; ) { int r_3 = Convert.ToInt16(rnd_1); int r_4 = (int)r_1; if (r_1 >= 0 && r_1 < 36) { Casualizza.Text = Convert.ToString(sorgente.Text[r_4]); t++; } else { t = t; } } } }

Rispondi quotando

