草庐IT

developers_guide

全部标签

c# - 为什么 Guid.ToString ("n") 与从同一 guid 的字节数组生成的十六进制字符串不同?

考虑以下单元测试:[TestMethod]publicvoidTestByteToString(){varguid=newGuid("61772f3ae5de5f4a8577eb1003c5c054");varguidString=guid.ToString("n");varbyteString=ToHexString(guid.ToByteArray());Assert.AreEqual(guidString,byteString);}privateStringToHexString(Byte[]bytes){varhex=newStringBuilder(bytes.Length*

c# - 运算符 '==' 不能应用于 linq to entity 中类型为 'System.Guid' 和 'string' 的操作数

我在linqtoentityframework代码下方收到此错误“运算符‘==’无法应用于‘System.Guid’和‘string’类型的操作数”。在下面的代码中,CustomerId是Guid,customerProfileId是字符串。varaccountQuery=fromCinCustomerModel.CustomerProfilewhereC.CustomerId==customerProfileId//ErrorhereselectC; 最佳答案 您不能直接将Guid与字符串进行比较。将字符串转换为Guid或将Gui

c# - 将对象转换为 System Guid

Guidmainfolderid=(main.GetValue(""));其中main是一个动态实体。如何将上面提到的main.GetValue("")转换为System.Guid?错误说Cannotimplicitlyconverttypeobjectto'System.Guid'. 最佳答案 GetValue方法实际上是否返回类型为object的Guid?如果是这样,那么您只需要像这样执行显式转换:Guidmainfolderid=(Guid)main.GetValue("");如果不是,GetValue是否返回可以传递给其中一

c# - Guid的验证

我有一个强类型View,它有一个DropDownListFor属性。下拉列表中的每一项都由一个GUID表示。我想要的是一种验证用户是否从下拉列表中选择了项目的方法。目前我还没有看到使用数据注释来做这件事。是否可以使用数据注释来实现这一点,以便客户端和服务器端验证可以工作。我猜我需要创建一个自定义方法来执行此操作,但想知道是否已经存在任何方法。 最佳答案 实际上,您不能将Required属性与GUID一起使用(没有我在下面提到的方法),因为它们继承自struct,因此它们的默认值实际上是Guid.Empty的一个实例,它将满足Requ

c# - 从具体化 'System.Guid' 类型到 'System.Int32' 类型的指定转换无效

从物化“System.Guid”类型到“System.Int32”类型的指定转换无效。我们有几个WCF服务,它们具有Multiple并发模式和Single的InstanceContextMode。我们的架构专注于使用基于构造函数的依赖注入(inject)的松散耦合模型。这又是使用Unity2.0实现的(每个服务的web.config都在统一容器部分中定义的接口(interface)和类型之间进行映射)。我们的依赖项之一是使用EntityFramework4与MSSqlServer通信的DAL程序集(数据访问层)。与数据库对话的类也包含在统一映射中。当我们运行集成测试时,一切都很好。但是

c# - GUID 的哪一部分最值得保留?

我需要生成一个唯一的ID并且正在考虑使用Guid.NewGuid来执行此操作,它会生成以下形式的内容:0fe66778-c4a8-4f93-9bda-366224df6f11对于它最终驻留的字符串类型数据库列来说,这有点长,所以我打算截断它。问题是:就唯一性而言,GUID的一端是否比其余端更可取?我应该砍掉开头、结尾还是从中间删除部分?还是根本不重要? 最佳答案 您可以使用base64字符串来节省空间:varg=Guid.NewGuid();vars=Convert.ToBase64String(g.ToByteArray());C

c# - Windows 10 支持的操作系统 GUID 是什么?

我们正在检测操作系统版本以进行统计。从Windows8.1开始,theOS"lies"aboutitsversion使用GetVersion时。但是,System.Environment.OSVersionstillcallsthisAPI从.NET4.5.1开始。因此,我们添加了8.1'sGUIDlist,效果很好。现在,我想为Windows10准备同样的东西。它的GUID已知吗?(编辑)P/调用VerSetConditionMask和VerifyVersionInfo来检查6.4或更高版本似乎有效。 最佳答案 来源:http:/

c# - 使用 LinqPad 将字符串转换为 Guid

当我在LinqPad中运行时varProductIds=frompinProductswherep.Id="F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F"selectp;ProductIds.Dump();它给了我Cannotimplicitlyconverttype'string'to'System.Guid'我只是不知道如何将其正确转换为我猜的GUId 最佳答案 尝试使用Guid.Parse(stringguid)静态方法。varProductIds=frompinProductswherep.Id=

c# - 如何使用 EF 迁移将 int ID 列更改为 Guid?

我正在使用EF代码优先方法并想将Id字段更改为guid但似乎无法通过以下错误。这是我的第一次迁移:publicpartialclassCreateDownloadToken:DbMigration{publicoverridevoidUp(){CreateTable("dbo.DownloadTokens",c=>new{Id=c.Int(nullable:false,identity:true),FileId=c.Int(),UserId=c.String(nullable:false,maxLength:128),ValidUntil=c.DateTime(nullable:fal

c# - 如何使用 LINQ 执行不区分大小写的 GUID 比较?

在下面的代码中,我想比较两个GUID。问题是我没有返回任何任务,因为GUID的大小写不同(大写与小写)。我需要执行不区分大小写的比较。MembershipUsermembershipUser=Membership.GetUser();stringstrUserId=membershipUser.ProviderUserKey.ToString();GuiduserId=newGuid(strUserId.ToUpper());lblUserId.Text=userId.ToString();DataModelEntitiesdc=newDataModelEntities();varus