CSharp · Console
using System;
using System.Text;
using System.Diagnostics;
var (r0, dt0) = Tester(() => ConcaténerString("J'aime mon prof", 10_000));
var (r1, dt1) = Tester(() => ConcaténerStringBuilder("J'aime mon prof", 10_000));
if (r0 != r1)
{
Console.WriteLine("Quelque chose de suspect s'est passé");
}
else
{
Console.WriteLine($"string : {dt0} ms; StringBuilder : {dt1} ms");
}
static (T, long) Tester<T>(Func<T> f)
{
var sw = new Stopwatch();
sw.Start();
T rés = f();
sw.Stop();
return (rés, sw.ElapsedMilliseconds);
}
static string ConcaténerString(string s, int n)
{
string rés = "";
for (int i = 0; i < n; ++i)
{
rés += s;
}
return rés;
}
static string ConcaténerStringBuilder(string s, int n)
{
StringBuilder sb = new ();
for (int i = 0; i < n; ++i)
{
sb.Append(s);
}
return sb.ToString();
}