C# में List<T> को यादृच्छिक रूप से कैसे फेरें (shuffle)?
सभी को नमस्कार! मैं C# में नया हूँ और एक कार्ड गेम के लिए छोटा सा एप्लिकेशन लिख रहा हूँ। मेरे पास एक List है जिसमें ताश की गड्डी है। बांटने से पहले मुझे इन कार्डों को यादृच्छिक रूप से फेरना (shuffle) है, लेकिन मुझे List.Shuffle() जैसा कोई built-in method नहीं मिल रहा।
यहाँ मेरा कोड है:
```csharp
List deck = new List();
// ... गड्डी को कार्डों से भरना ...
// अब कैसे फेरें? मैंने यह कोशिश की:
deck.OrderBy(x => random.Next()).ToList(); // लेकिन यह नई list लौटाता है, मूल को नहीं बदलता
```
समस्या यह है कि मैं मूल deck list को बदलना चाहता हूँ, नई list नहीं बनाना चाहता। इसके अलावा, मैंने पढ़ा है कि Random के साथ OrderBy का उपयोग असमान वितरण या exceptions दे सकता है, अगर random.Next() कई elements के लिए समान मान लौटाए।
कृपया बताएं कि List को सही और कुशलता से in-place कैसे फेरें? कोड उदाहरण के साथ हो तो अच्छा होगा। पहले से धन्यवाद!