Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Xáo trộn chuỗi trong C#

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ự.