c# - 从字符串中生成数字的方法
问题描述
我有一些喜欢的话flexform_mood_icaro_bed_2
。我想编写一个方法来从上面的字符串生成一个唯一的代码。比如序列号或产品号。
我GetHashCode()
用于我的目的。但重要的一点是,代码号永远不应该随着相同的字符串而改变。我在某处看到 GetHashCode 将通过更改 .net 版本来更改。
正如我在第一行中提到的,输入包含 int 和 string。我实际上想根据产品名称制作产品编号。
那么有什么方法可以从字符串中生成代码编号吗?
解决方案
我有一些产品名称,例如:“Max Tool Kit 2”、“flexform_mood_icaro_bed”等。所以我想为它们制作一个序列号。清楚吗?!- D.JCode
不,这不清楚。这些字符串看起来也不像您在问题中使用的字符串。
你似乎不明白的是,为了做到这一点,你必须选择一个非常具体的算法来破坏那些特定的字符串(谁知道其他字符串,你仍然没有显示所有可能的输入是什么) 变成一个唯一的数字,这样输出就不会发生冲突。我不知道可以做到这一点的算法。
当然,像 SHA 之类的散列算法可能看起来像这样,但是你有一个非常非常大的数字作为输出,并且仍然不能保证它对于你想要处理的所有字符串都是唯一的。
相反,您应该做的是决定您希望序列号的外观并生成它们。
因此,从一个不错的数字开始,例如 1,000,000,000,然后遍历您的产品集合,分配当前数字,并将其加一。重复所有产品,完成。
推荐阅读
- flutter - 如何在 Flutter 中定位这张卡片和文字?
- c# - DirectoryEntry 和 ActiveDirectorySecurity 的授权问题
- scala - Spark - 查找 2 周之间的全年周的范围
- selenium - 在 puppeteer、Headless Chrome 的 DOM 中保护凭证
- amazon-web-services - 公共云中的 Flask-SocketIO:升级到 websocket 的请求在某些情况下会失败
- shopify - Shopify:如何根据用户的地理位置重定向用户?
- excel - 防止 Excel 表格自动填充行
- swift - NavigationBar 半透明动画
- python - Tkinter 没有删除标签小部件
- c# - 当角色环顾四周时,Contoller 脚本不会改变方向