Ho questa piccola sobroutine in basic
Lanciando la pagina e cliccando sul pulsante ottengo questi 5 risultati:codice:Private a$ = "Essere o non essere, questo è il problema" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i% = 0, k% = 1000000 Dim StartTime, EndTime As DateTime Dim Tempo As TimeSpan Dim Secondi, MilliSecondi As Double Dim rand As New Random(CInt(Date.Now.Ticks And Integer.MaxValue)) StartTime = Now For i = 1 To k Dim x% = rand.Next(1, Len(a) + 1) Dim s$ = Left(a, x) Next EndTime = Now Tempo = EndTime.Subtract(StartTime) MilliSecondi = Tempo.Ticks / 10000 PrintLn(MilliSecondi, "Millesecondi (basic))") End Sub
453
453
422
406
422
422
Adesso converto la procedura in c#
ed ottengo:codice:string a = "Essere o non essere, questo è il problema"; private void Button1_Click(object sender, System.EventArgs e) { System.Int32 i = 0, k = 1000000; DateTime StartTime, EndTime; TimeSpan Tempo; System.Double MilliSecondi; Random rand = new Random((Int32)(DateTime.Now.Ticks & Int32.MaxValue)); StartTime = DateTime.Now; for( i = 1; i <= k; i++) { Int32 x = rand.Next(0, a.Length); String s = a.Substring(0, x); } EndTime = DateTime.Now; Tempo = EndTime.Subtract(StartTime); MilliSecondi = Tempo.Ticks / 10000; Response.Write(MilliSecondi); }
515
515
546
500
500
500
Siccome mi aspetto di ottenere in c# valori inferiori a quelli ottenuti in basic, presumo che abbia tradotto male il codice :master:
Mi potreste aiutare per favore?
![]()

Rispondi quotando

Sono un po' confuso. Io cercavo solo di mettere in pratica i tuoi suggerimenti: ti prego e riprego, dimmi che ho sbgliato il codice c#
DEVE ESSERE SBAGLIATO PER FORZA

