我正在开发一个 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# 编写