ใช้ OrderBy ร่วมกับ Random เพื่อสับเปลี่ยนลำดับอักขระในสตริง (Shuffle)
ตัวอย่างโค้ด
using System;
using System.Linq;
class Demo
{
static void Main()
{
const string str = "electronics";
Random r = new Random();
// สุ่มลำดับ: ใช้ Random เลือก true/false สลับกัน
string random = new string(str.ToCharArray()
.OrderBy(s => (r.Next(2) % 2) == 0)
.ToArray());
Console.WriteLine("String = {0}", str);
Console.WriteLine("Random String = {0}", random);
}
}
ผลลัพธ์ (ตัวอย่าง)
String = electronics Random String = lericsecton
หมายเหตุ: วิธีนี้ไม่ใช่ Fisher-Yates Shuffle ที่สมบูรณ์ (อาจมี Bias) สำหรับการสุ่มจริง ควรใช้ Algorithm Shuffle มาตรฐาน