Sử dụng OrderBy với Random để xáo trộn thứ tự ký tự trong chuỗi.
Ví dụ
using System;
using System.IO;
using System.Linq;
class Demo
{
static void Main()
{
const string str = "electronics";
Random r = new Random();
string random = new string(str.ToCharArray().OrderBy(s => (r.Next(2) % 2) == 0).ToArray());
Console.WriteLine("Chuỗi gốc = {0}", str);
Console.WriteLine("Chuỗi xáo trộn = {0}", random);
Console.Read();
}
}
Kết quả
Chuỗi gốc = electronics Chuỗi xáo trộn = lericsecton
Cảnh báo: Cách này không đảm bảo phân bố đều (không phải Fisher-Yates). Để xáo trộn đúng chuẩn, hãy triển khai thuật toán Fisher-Yates trên mảng ký tự.