草庐IT

int-vs-trunc

全部标签

c# - 为什么 VS 警告我 typeof(T) 永远不是泛型方法中提供的类型,其中类型参数仅限于实现 T?

我希望问题是正确的,所以让我们举个例子。想象以下通用方法:publicabstractclassBase:IDisposable{publicstaticIEnumerableGetList()whereT:Base{//ToensureTinheritsfromBase.if(typeof(T)isBase)thrownewNotSupportedException();//...}}根据MSDN关键字where将类型参数T限制为Base类型或从此类继承。[...]awhereclausecanincludeabaseclassconstraint,whichstatesthatat

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# - 无法在 VS 2017 .NET Core 上为 Entity Framework 启用迁移

我刚刚安装了VS2017并创建了一个新的核心项目。在其中,我添加了:Microsoft.EntityFrameworkCore(1.1.0)Microsoft.NETCore.App(1.1.0)我还创建了一个名为Models的文件夹,其中包含一个类。然后,我转到程序包管理器控制台并执行enable-migrations,这样VS就会创建我需要的文件。但是,我收到的不是所需文件,而是以下错误。Theterm'enable-migration'isnotrecognizedasthenameofacmdlet,function,scriptfile,oroperableprogram.C

C#:将 '0' 转换为 int

我看到了这样一段代码:privatereadonlyobject[]m_Values={(int)0,(int)0};将0转换为int的想法是什么?它不是“默认”的int吗? 最佳答案 没有必要。我假设程序员以前被咬过。我会把它作为一个谜题发布,在这个程序中将调用哪个重载?usingSystem;classProgram{staticvoidMain(string[]args){Foo.Bar(0);Console.ReadLine();}}classFoo{publicstaticvoidBar(bytearg){Console.

c# - DotNet - 什么是 int*?

简单的问题,我导入了一个DLL函数,参数是int*。当我尝试输入Method(0)时,出现错误消息:“intandint*cannotconvert”。这是什么意思? 最佳答案 这是指向int的指针的经典C表示法。每当类型后跟*时,它表示该类型为pointer。到那种类型。在C#中,与C不同,除了启用unsafe之外,您还必须将函数显式定义为unsafe才能使用指针。项目属性中的代码。指针类型也不能直接与具体类型互换,因此必须首先获取类型的引用。要在C#(或C和C++)中获取指向另一种类型(例如int)的指针,您必须在您希望的变量前

c# - VS 2008 Professional,Smart Device .NET C# 项目 - 构建缓慢

我有VS2008Professional和一个智能设备.NETC#项目。我总共有~100个cs文件。构建需要很长时间,我必须等待链接器大约。每次编译项目时1分钟(60秒)。我有Corei3、4GBRAM、7200rpm磁盘。是什么原因造成的,我该如何优化构建?任何VisualStudio选项? 最佳答案 如果您遵循HansPassant的评论中的建议并将MSBuild设置为诊断输出,它将更清楚地说明什么正在花费时间。如果您发现您的构建在许可编译器(LC.exe)上挂起,那么这可能是因为它试图调用服务器并超时。您可以通过更改您的mac

c# - 将 "C# friendly type"名称转换为实际类型 : "int" => typeof(int)

我想得到一个System.Type给定一个string指定一个(原始)类型的C#友好名称,基本上是C#编译器在阅读C#源代码时的方式。我觉得描述我所追求的东西的最佳方式是以单元测试的形式。我希望存在一种通用技术可以使以下所有断言都通过,而不是尝试对特殊C#名称的特殊情况进行硬编码。TypeGetFriendlyType(stringtypeName){...??...}voidTest(){//usingfluentassertionsGetFriendlyType("bool").Should().Be(typeof(bool));GetFriendlyType("int").Sho

c# - Assert.AreEqual 对 int 和 ulong 失败但对 long 和 uint 失败

好吧,我希望我的处理器没有烧毁,因为:[TestMethod]publicvoidtenEqualten(){Int64a=10;UInt32b=10;Assert.AreEqual(a,b);}工作得很好,但是这个:[TestMethod]publicvoidtenNotEqualten(){Int32a=10;UInt64b=10;Assert.AreEqual(a,b);}惨败。你有没有得到相同的结果,还是只有我?如果是,有什么想法,为什么?如果这是.Net4.5的已知问题,那么抱歉垃圾邮件,但我找不到它作为错误。编辑:我找到了重复的here和解释here

c# - VS 2010 - 使用设计器打开用户控件/表单时出错

C#、VS2010、WinForm应用程序:有时我确实会遇到这样的问题,即在打开我的某些控件/表单时收到错误消息。所有代码都可以编译并且应用程序可以正常运行。在设计器中打开控件给我:Thedesignerloaderdidnotprovidearootcomponentbuthasnotindicatedwhy.根据我的经验,我的代码通常没有正确初始化,例如未设置在运行时以某种方式可用但在使用设计器打开时不可用的属性。唯一的问题是,根本原因很难找到。问:当设计人员在VisualStudio2010中打开我的组件时,是否有机会以某种方式使用调试器?这会很有帮助,然后解决问题很可能只需要几

c# - Char.IsDigit() vs Char.IsNumber(),有什么区别?

Char.IsDigit()和Char.IsNumber()有什么区别 最佳答案 //1/2symbolChar.IsNumber('½');//trueChar.IsDigit('½');//false//UnicodecharacterforRomannumeral5(V)Char.IsNumber('\x2165');//trueChar.IsDigit('\x2165');//false 关于c#-Char.IsDigit()vsChar.IsNumber(),有什么区别?,我们