【发布时间】:2019-04-11 16:57:36
【问题描述】:
我通过创建和使用哈希值来设置数据库条目的 ID。 问题是当我再次启动应用程序时,相同原始值的哈希值不同,并且我得到了加倍(相同的值,不同的 ID)。 您可以在下面找到我的示例代码。启动 CLI,记住给定的哈希值,重新开始 --> 不同的值。
如何为每个实例重现相同的哈希值?
static void Main(string[] args)
{
int drid = 3081;
DateTime dt = DateTime.ParseExact("2019-04-11 00:23:10", "yyyy-MM-dd HH:mm:ss", null);
string idAsString = drid.ToString() + dt.ToString();
Console.WriteLine(idAsString.GetHashCode().ToString());
Console.ReadKey();
}
【问题讨论】:
-
我也总是有相同的值
745858392。但是,我建议您将dt.ToString()更改为dt.ToString("s")或 another culture invariant date format -
@CamiloTerevinto 它被特别记录为在应用程序的不同执行中不一致。
-
这个问题与我认为我在那里找到的答案重复:stackoverflow.com/questions/5154970/…