【问题标题】:how to create unique id for each user in asp.net C#如何在asp.net C#中为每个用户创建唯一的ID
【发布时间】:2013-10-17 17:04:45
【问题描述】:

如何在asp.net C#中为每个用户创建唯一的ID

我为每个配置文件使用了随机数,但它不是唯一的。

【问题讨论】:

  • 为什么不把它留给数据库中的标识字段呢?
  • 你的意思是自动编号?
  • 是的,根据 RDBMS,您可以说自动编号 X-)
  • 好的,但我想创建 id,比如 suposse personname 是 shaikh,city 是 pune,state 是 maharashtra,country 是 india,然后将所有这些字段组合起来,例如 INMHPU123333......?

标签: asp.net sql


【解决方案1】:

Guid.NewGuid() 几乎是独一无二的。

用法:

Guid id = Guid.NewGuid();

// Output: e62e2706-a8db-4fae-891a-65985fd80351

【讨论】:

  • 如何使用这个方法..你可以给我打电话吗
  • 我更新了答案。如果你想要字符串值,你可以使用id.ToString();。 C# Guid 等价于 SQL 唯一标识符。
  • 嗯,在某些时候,你可能会得到重复,但机会是零到零。看到这个question
  • 好的,但我想创建 id,比如 suposse personname 是 shaikh,city 是 pune,state 是 maharashtra,country 是 India,然后将所有这些字段组合起来,例如 INMHPU123333。
  • 听起来更像你想要一个散列函数。查看stackoverflow.com/questions/11454004/…
【解决方案2】:

如果您使用的是 SQL Server(我很确定 Oracle 和 MySQL 中存在类似的东西,但我无法确认),您可以使用带有整数值的 identity column,它将自动为新用户生成唯一 ID。

如果您需要像其中一个 cmets“INMHPU123333”中所示的不同的东西,那么您需要为此创建一个单独的函数。

请注意,从性能角度来看,这并不理想,因为它会导致大索引碎片。如果您没有大量记录,这并不是什么大不了的事。

【讨论】:

    猜你喜欢
    • 2014-09-29
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多