草庐IT

c# - guid 到 base64,用于 URL

问题:有更好的方法吗?VB.NetFunctionGuidToBase64(ByValguidAsGuid)AsStringReturnConvert.ToBase64String(guid.ToByteArray).Replace("/","-").Replace("+","_").Replace("=","")EndFunctionFunctionBase64ToGuid(ByValbase64AsString)AsGuidDimguidAsGuidbase64=base64.Replace("-","/").Replace("_","+")&"=="Tryguid=NewGuid

c# - guid 到 base64,用于 URL

问题:有更好的方法吗?VB.NetFunctionGuidToBase64(ByValguidAsGuid)AsStringReturnConvert.ToBase64String(guid.ToByteArray).Replace("/","-").Replace("+","_").Replace("=","")EndFunctionFunctionBase64ToGuid(ByValbase64AsString)AsGuidDimguidAsGuidbase64=base64.Replace("-","/").Replace("_","+")&"=="Tryguid=NewGuid

c# - 什么是好的唯一 PC 标识符?

我一直在查看thistutorial中的代码,我发现它使用My.Computer.Name来保存不应在计算机之间漫游的设置。但是,用户完全有可能拥有两台名称相同的PC。例如,如果他们想在每台PC上使用相同的用户名,他们很可能最终会得到两台名为Username-PC的PC。识别不同PC的好方法有哪些?PC是否具有与之关联的GUID,或者我是否应该研究从某些硬件中提取序列号?我不关心标识是否通过重新安装Windows仍然存在。(我链接的教程是在VB.Net中,但我是在C#中实现的) 最佳答案 一些好的标识符:MAC地址:它很容易获得,而

c# - 什么是好的唯一 PC 标识符?

我一直在查看thistutorial中的代码,我发现它使用My.Computer.Name来保存不应在计算机之间漫游的设置。但是,用户完全有可能拥有两台名称相同的PC。例如,如果他们想在每台PC上使用相同的用户名,他们很可能最终会得到两台名为Username-PC的PC。识别不同PC的好方法有哪些?PC是否具有与之关联的GUID,或者我是否应该研究从某些硬件中提取序列号?我不关心标识是否通过重新安装Windows仍然存在。(我链接的教程是在VB.Net中,但我是在C#中实现的) 最佳答案 一些好的标识符:MAC地址:它很容易获得,而

c# - 如何为字符串生成 GUID?

我在为字符串生成GUID时遇到问题-例如:Guidg=NewGuid("Mehar");如何计算"Mehar"的GUID?我遇到异常。 最佳答案 这个线程很旧,但这就是我们解决这个问题的方法:由于.NET框架中的Guid是任意16字节,或者分别是128位,您可以通过对生成16字节哈希的字符串应用任何哈希函数,然后将结果传递给Guid构造函数,从任意字符串计算Guid。我们决定使用MD5哈希函数,示例代码如下所示:stringinput="asdfasdf";using(MD5md5=MD5.Create()){byte[]hash=

c# - 如何为字符串生成 GUID?

我在为字符串生成GUID时遇到问题-例如:Guidg=NewGuid("Mehar");如何计算"Mehar"的GUID?我遇到异常。 最佳答案 这个线程很旧,但这就是我们解决这个问题的方法:由于.NET框架中的Guid是任意16字节,或者分别是128位,您可以通过对生成16字节哈希的字符串应用任何哈希函数,然后将结果传递给Guid构造函数,从任意字符串计算Guid。我们决定使用MD5哈希函数,示例代码如下所示:stringinput="asdfasdf";using(MD5md5=MD5.Create()){byte[]hash=

c# - 顺序引导生成器

有没有什么方法可以在不插入记录以在往返过程中读回或调用nativewindll调用的情况下获得SqlServer2005+SequentialGuid生成器的功能?我看到有人回答了使用rpcrt4.dll的方法,但我不确定这是否能够在我的托管环境中用于生产。编辑:使用@JohnBoker的回答,我试图将它变成更多的GuidComb生成器,而不是依赖于最后生成的Guid,而不是重新开始。这是种子而不是从我使用的Guid.Empty开始publicSequentialGuid(){vartempGuid=Guid.NewGuid();varbytes=tempGuid.ToByteArra

c# - 顺序引导生成器

有没有什么方法可以在不插入记录以在往返过程中读回或调用nativewindll调用的情况下获得SqlServer2005+SequentialGuid生成器的功能?我看到有人回答了使用rpcrt4.dll的方法,但我不确定这是否能够在我的托管环境中用于生产。编辑:使用@JohnBoker的回答,我试图将它变成更多的GuidComb生成器,而不是依赖于最后生成的Guid,而不是重新开始。这是种子而不是从我使用的Guid.Empty开始publicSequentialGuid(){vartempGuid=Guid.NewGuid();varbytes=tempGuid.ToByteArra

c# - 编译器不应允许 Guid == null

Thebehaviourdescribedbelowisspecificto.net-3.5only我刚刚遇到了C#编译器中最令人惊讶的行为;我有以下代码:Guidg1=Guid.Empty;boolb1=(g1==null);好吧,Guid不可为空,因此它永远不能等于null。我在第2行中进行的比较总是返回false。如果你对整数做同样的事情,编译器会发出警告说结果总是假的:intx=0;boolb2=(x==null);我的问题是:为什么编译器允许您将Guid与null进行比较?据我所知,它已经知道结果总是假的。内置转换的完成方式是否让编译器假定null是一个可能的值?我在这里遗漏

c# - 编译器不应允许 Guid == null

Thebehaviourdescribedbelowisspecificto.net-3.5only我刚刚遇到了C#编译器中最令人惊讶的行为;我有以下代码:Guidg1=Guid.Empty;boolb1=(g1==null);好吧,Guid不可为空,因此它永远不能等于null。我在第2行中进行的比较总是返回false。如果你对整数做同样的事情,编译器会发出警告说结果总是假的:intx=0;boolb2=(x==null);我的问题是:为什么编译器允许您将Guid与null进行比较?据我所知,它已经知道结果总是假的。内置转换的完成方式是否让编译器假定null是一个可能的值?我在这里遗漏