C# 一个高效密钥生成类

C# 一个高效密钥生成类,c#,code-generation,unsafe,C#,Code Generation,Unsafe,因此,我正在寻找一种高效的方法来生成一个基于整数数组并可以存储在数据库列中的唯一密钥 在旧的C语言中,我可以创建数组内存位置的副本,并将其作为字符串返回,然后作为我的键。我不知道是否仍然可以在C#中做到这一点,但我正在寻找(几乎)与这一种同样有效的方法。有什么建议吗 谢谢, 基马尔 更新: 我的意思是,根据输入数组的元素,结果应该是唯一的。因此,GUID建议在这里不适用。一个显而易见的解决方案是将数组元素的文本版本连接成一个字符串,正如Jon Benedicto所建议的那样。我所看到的是执行起来

因此,我正在寻找一种高效的方法来生成一个基于整数数组并可以存储在数据库列中的唯一密钥

在旧的C语言中,我可以创建数组内存位置的副本,并将其作为字符串返回,然后作为我的键。我不知道是否仍然可以在C#中做到这一点,但我正在寻找(几乎)与这一种同样有效的方法。有什么建议吗

谢谢, 基马尔

更新: 我的意思是,根据输入数组的元素,结果应该是唯一的。因此,GUID建议在这里不适用。一个显而易见的解决方案是将数组元素的文本版本连接成一个字符串,正如Jon Benedicto所建议的那样。我所看到的是执行起来非常有效的东西。在研究了C#语言参考中的不安全代码部分后,我自己提出了以下代码:

那代码有什么问题吗

var pk = Guid.NewGuid();

// Or if you need it as a string
var pkAsString = pk.ToString();


如果要转换C#中的整数数组,可以使用array类上的ConvertAll静态泛型方法将整数转换为字符串表示形式:

int[] data = { 0, 1, 2, 3, 4, 5, 6 };

string value = String.Join(",", Array.ConvertAll<int, string>(data, x => x.ToString()));
int[]data={0,1,2,3,4,5,6};
string value=string.Join(“,”,Array.ConvertAll(数据,x=>x.ToString());

如果要转换C#中的整数数组,可以使用array类上的ConvertAll静态泛型方法将整数转换为字符串表示形式:

int[] data = { 0, 1, 2, 3, 4, 5, 6 };

string value = String.Join(",", Array.ConvertAll<int, string>(data, x => x.ToString()));
int[]data={0,1,2,3,4,5,6};
string value=string.Join(“,”,Array.ConvertAll(数据,x=>x.ToString());

你会像主键一样在DB列中使用它吗?数组索引有什么问题?这里的“基于int数组”是什么意思?你会像主键一样在DB列中使用它吗?数组索引有什么问题?这里的“基于int数组”是什么意思?DBA都在退缩,但+1只是一个128位的数字?我不会将其用作字符串,但这就是OP在C中所做的。DBA都在退缩,但+1只是一个128位的数字?我不会将其用作字符串,但这就是OP在C中的作用。