草庐IT

developers_guide

全部标签

c# - 为什么 Guid.ToString 在 Linq 中返回大写字符串?

我遇到了一些奇怪/意外的行为,其中Guid.ToString()在Linq表达式中返回与Guid.ToString()不同的结果在foreach循环中。方法的作用:所讨论的方法只是获取一个对象,然后从原始对象创建一个新的View模型。我工作的公司已决定在View模型中不允许使用Guid,因为我们的一个较旧的JSON序列化程序存在一个错误,导致Guid未正确序列化。问题/意外结果:在调试/测试我的方法时,我发现我创建的Linq表达式返回了一个奇怪的结果。将我的Guid转换为其字符串表示形式时,结果自动大写。一开始我不相信这是Linq表达式,但一旦我将逻辑转换为foreach循环,我就得到

c# - 从 GUID 获取类型

由于各种原因,我需要在C#中实现一个类型缓存机制。幸运的是,CLR提供了Type.GUID来唯一标识一个类型。不幸的是,我找不到任何方法来查找基于此GUID的类型。有Type.GetTypeFromCLSID()但根据我对文档(和实验)的理解,它做了一些非常非常不同的事情。除了遍历所有加载的类型并与它们的GUID进行比较之外,还有什么方法可以根据其GUID获取类型?编辑:我忘了说我真的很喜欢固定宽度的“类型指纹”,这就是GUID如此吸引我的原因。当然,在一般情况下,类型的完全限定名称是可行的。 最佳答案 为什么不为此使用指定的属性,

c# - 关于 GUID 的 : Are they always fixed in length, 的问题,中间的数字总是 4 吗?

我刚刚生成了数百万个GUID,将它们变成了一个字符串并得到了长度……它始终是相同的。在转换为字符串时,我可以依赖这个固定长度的GUID吗?此外,GUID的中间数字是否始终如屏幕截图所示“4”? 最佳答案 是的,长度是固定的,是的,当您使用标准的tostring格式时,中间的数字总是4。GUID中的一些位(几乎在任何非Windows的地方都称为UUID)是固定的,用于指示诸如版本等内容。http://en.wikipedia.org/wiki/Uuid编辑我应该补充一点,“4”仅适用于根据.NET中实现的Guid.NewGuid算法生

c# - C# 和 SQL Server 中 int 到 guid 的不同转换

在C#和SQLServer中将int转换为guid时,我得到不同的值。在C#中我使用这个方法publicstaticGuidInt2Guid(intvalue){byte[]bytes=newbyte[16];BitConverter.GetBytes(value).CopyTo(bytes,0);returnnewGuid(bytes);}Console.Write(Int2Guid(1000).ToString());//writes000003e8-0000-0000-0000-000000000000在我使用的SQLServer中selectcast(cast(1000asva

C# 4.0 可选参数 - 如何指定类型为 "Guid"的可选参数?

这是我的方法:publicvoidSomeQuery(stringemail="",GuiduserId=Guid.Empty){//dosomequery}userId给我一个错误,因为它必须是一个编译时常量,我明白这一点。但即使我声明了一个常量:privateconstemptyGuid=Guid.Empty;然后将方法签名更改为:publicvoidSomeQuery(stringemail="",GuiduserId=emptyGuid){//dosomequery}仍然没有爱。我错过了什么? 最佳答案 您是否尝试过将其设置

c# - Guid 与自动增量 int

我想知道在处理代码中父>子对象的ID方面是否有最佳编码实践,其中数据库记录使用自动递增的int作为ID(在初始保存时)。当然,在代码中,您无法猜测这个ID可能是什么,因此必须将其留空,并大概将所有这些项目保存在一个事务中,首先获取父ID,然后在保存之前将其设置在所有子项上另一方面,Guids在代码中更容易处理,因为您当然可以先愉快地生成Id并将其设置在所有内容上,然后放心保存..有没有一种很好的简单方法来处理代码中使用自动整数作为它们的数据库键的对象?谢谢 最佳答案 GUID似乎是您的主键的自然选择-如果您真的必须,您可能会争辩说将

c# - 从非 guid 格式的字符串生成 GUID

我想从输入字符串生成一个GUID。假设我从用户那里收到了guid,它是81a130d2-502f-4cf1-a376-63edeb000e9f所以我可以这样做:Guidg=Guid.Parse("81a130d2-502f-4cf1-a376-63edeb000e9f");即将解析成功但是如何让用户的生活更轻松并允许输入:81a130d2502f4cf1a37663edeb000e9f没有破折号,仍然将其转换为guid。如果我尝试使用相同的方法,它会抛出异常,提示guid格式中缺失的虚线。有什么想法吗? 最佳答案 尝试Guid.Pa

c# - AssemblyInfo.cs 中的 C# 程序中的 GUID 是什么?

这个问题在这里已经有了答案:IsthereanypointinspecifyingaGuidwhenusingComVisible(false)?(3个答案)关闭8年前。我想知道C#程序中AssemblyInfo.cs中的GUID是什么:[程序集:Guid("a4df9f47-b2d9-49a9-b237-09220857c051")]评论说它是针对COM对象的,但为什么它们需要GUID?GUID是否可以从外部访问?所以如果它只用于COM,那么在设置[assembly:ComVisible(false)]时是否需要GUID?

c# - LINQ Guid toString()

嗨,这看起来应该可行,fromsomethingincollectionofsomestuffselectnewSelectListItem(){Text=something.Name,Value=something.SomeGuid.ToString(),Selected=false};当我尝试这样做时它不起作用给我错误LINQtoEntitiesdoesnotrecognizethemethod'System.StringToString()'method,andthismethodcannotbetranslatedintoastoreexpression.有解决办法吗?

c# - long vs Guid for the Id (Entity),优缺点是什么

我正在asp.netmvc上做一个网络应用程序,我正在为我的实体在long和Guid数据类型之间进行选择,但我不知道哪个更好。有人说long快得多。Guid也可能有一些优势。有人知道吗? 最佳答案 什么时候GUID可能不合适GUID几乎总是会变慢,因为它们更大。这会使您的索引更大。这使您的表更大。这意味着如果您必须全部或部分扫描您的表,将花费更长的时间并且您将看到更少的性能。这是基于报告的系统中的一个巨大问题。例如,永远不会将GUID用作事实表中的外键,因为它的长度通常很重要,因为通常会部分扫描事实表以生成聚合。还要考虑使用“lon