c# – 角色洗牌

c# – 角色洗牌,第1张

概述我只是想知道是否有一种方法(使用ASP.NET C#)“乱码”字符串的内容,但仍然能够点击另一个按钮并“将其”重新混合“回原始内容而不保存原始内容? 谢谢 :) 例: "This is not shuffled.""isuo .tffsnl iTh shed"...And then I click the "UNShuffle" button and it becomes normal a 我只是想知道是否有一种方法(使用ASP.NET C#)“乱码”字符串的内容,但仍然能够点击另一个按钮并“将其”重新混合“回原始内容而不保存原始内容?

谢谢 :)

例:

"This is not shuffled.""isuo .tffsnl iTh shed"...And then I click the "UNShuffle" button and it becomes normal again:"This is not shuffled."
解决方法 好吧,你需要保存一些东西.一个简单的想法:

>使用随机数生成器生成随机种子.
>创建一个新的Random实例,用于使用该种子进行混洗
>使用经过修改的Fisher-Yates shuffle随机播放
>保持种子

然后洗牌是可逆的 – 诚然需要付出一点努力. (我可能会以相同的方式将数字0 …(n-1)洗牌,然后以相反的方式反向映射字符.)

棘手的一点是你确实需要种子 – 它有点像存储密码哈希中的盐.你必须得到一些额外的信息来说明它是如何改组的,否则你不会知道“abc”是来自“bac”还是“cab”.

总结

以上是内存溢出为你收集整理的c# – 角色洗牌全部内容,希望文章能够帮你解决c# – 角色洗牌所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1224489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存