首页 新闻 会员 周边

烦请大侠帮忙将一个js代码转c#

0
[待解决问题]

function getUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}

帮忙 转成c#,谢谢。

tianfeng.cc的主页 tianfeng.cc | 菜鸟二级 | 园豆:212
提问于:2019-09-29 16:49
< >
分享
所有回答(4)
0

    public static string getUID()
    {
        var str = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
        var reg = new Regex("[xy]");
        var random = new Random();

        while (reg.IsMatch(str))
        {
            var match = reg.Match(str);
            var ran = random.Next(0, 16);
            var temp = match.Value == "x" ? ran : (ran & 0x3 | 0x8);
            str = reg.Replace(str, temp.ToString(), 1);
        }
        return str;
    }
xiaojunjor | 园豆:67 (初学一级) | 2019-09-29 17:12
0

这个样子会不会有重复的啊?C#里面直接有GUID的方法吧

华临天下 | 园豆:1501 (小虾三级) | 2019-09-29 17:38
0

这个是JS的GUID生产算法
https://www.cnblogs.com/snandy/p/3261754.html
所以c#没必要写了,直接GUID类

Guid.NewGuid().ToString()
张朋举 | 园豆:1915 (小虾三级) | 2019-09-29 21:44
0

return Guid.NewGuid()

Not丶see | 园豆:349 (菜鸟二级) | 2019-10-12 11:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册