私はWindowsアプリに取り組んでいます。このアプリには、フォームに表示される名前の動的リストが含まれています (ユーザーは特定の名前を追加または削除できます)。私がやりたいのは、db の各名前に対して、リストから別のランダムな名前を付けることです。唯一の条件は、名前ごとに異なる名前を割り当て、すべての名前を一度だけ使用する必要があることです。
私がやろうとしたことは、リストを使用してデータベースからの名前を含め、リストからランダムなインデックスを選択して、それをデータベース内の対応する場所と比較することです。異なる場合は、そのインデックスで削除し、配置する名前がなくなるまで繰り返します。
しかし、その後、それは完璧な方法ではないことに気付きました。たとえば、名前が 5 つあるとします。
name 1 はランダムに name 3 を取得します name 2 はランダムに name 1 を取得します name 3 はランダムに name 4 を取得します name 4 はランダムに name 2 を取得します... name 5 は name 5 しか取得できないため、この場合は機能しません。
どうすればそれを機能させることができるか、誰にも分かりますか?他にどのような方法を使用すればよいですか? 名前の数は約 20 です。後で、名前ごとに 2 つの異なる名前を割り当てる必要があります。しかし、まずこの問題を解決する必要があります。
どんな助けでも大歓迎です!C#で書いています