C# में List<T> को यादृच्छिक रूप से कैसे फेरें?
सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ, और मुझे एक समस्या का सामना करना पड़ा। मुझे `List` में तत्वों को यादृच्छिक रूप से फेरना है। मैं एक कार्ड गेम एप्लिकेशन लिख रहा हूँ, और मुझे कार्ड के डेक को फेरना है।
मेरे पास एक `List deck` है, जिसे मैं कार्ड से भरता हूँ। मैंने `Random` का उपयोग करने की कोशिश की, लेकिन मैं तत्वों को सही ढंग से फेर नहीं पाया।
यहाँ मेरा वर्तमान कोड है:
```csharp
List numbers = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Random rnd = new Random();
// फेरने का मेरा प्रयास
for (int i = 0; i < numbers.Count; i++)
{
int randomIndex = rnd.Next(numbers.Count);
numbers[i] = numbers[randomIndex]; // यह सिर्फ मान कॉपी करता है, बदलता नहीं
}
```
मैं समझता हूँ कि यह कोड गलत है — मैं तत्वों को बदलने के बजाय उनके मान खो रहा हूँ। कृपया बताएं कि लिस्ट को सही तरीके से कैसे फेरें? सरल और कुशल तरीका पसंद है। धन्यवाद!
*P.S. मैंने Fisher-Yates एल्गोरिदम के बारे में सुना है, लेकिन मुझे यकीन नहीं है।*