草庐IT

static-cast

全部标签

c# - 获取 "unable to cast PersistentGenericSet to ISet"错误

我收到这个错误:Unabletocastobjectoftype'NHibernate.Collection.Generic.PersistentGenericSet1[IocWinFormTestEntities.People]'totype'System.Collections.Generic.ISet1[IocWinFormTestEntities.People]'.实体:publicclassEvent{publicEvent(){this.People=newHashSet();}publicvirtualGuidId{get;privateset;}publicvirtua

c# - 通过 cast 或 Convert.ToSingle() 将 double 转换为 float?

在C#中,我可以通过强制转换(float)或Convert.ToSingle()将double转换为float。doublex=3.141592653589793238463;floata=(float)x;floatb=Convert.ToSingle(x);a和b变得相等。这两种技术之间有什么区别吗?我应该更喜欢哪一个?为什么? 最佳答案 来自.NETreferencesource:publicstaticfloatToSingle(doublevalue){return(float)value;}因此,您的答案是它们在本质上完

c# - 通过 cast 或 Convert.ToSingle() 将 double 转换为 float?

在C#中,我可以通过强制转换(float)或Convert.ToSingle()将double转换为float。doublex=3.141592653589793238463;floata=(float)x;floatb=Convert.ToSingle(x);a和b变得相等。这两种技术之间有什么区别吗?我应该更喜欢哪一个?为什么? 最佳答案 来自.NETreferencesource:publicstaticfloatToSingle(doublevalue){return(float)value;}因此,您的答案是它们在本质上完

c# - 为什么 (int)(object)10m 抛出 "Specified cast is not valid"异常?

为什么这个显式转换会抛出Specifiedcastisnotvalid.异常?decimald=10m;objecto=d;intx=(int)o;但这行得通:intx=(int)(decimal)o; 最佳答案 装箱值只能拆箱为完全相同类型的变量。这个看似奇怪的限制是一个非常重要的速度优化,它使.NET1.x在泛型可用之前变得可行。您可以在thisanswer中阅读更多相关信息.您不想跳过多重投篮,简单的值类型实现了IConvertible接口(interface)。您可以使用Convert类调用:objecto=12m;inti

c# - 为什么 (int)(object)10m 抛出 "Specified cast is not valid"异常?

为什么这个显式转换会抛出Specifiedcastisnotvalid.异常?decimald=10m;objecto=d;intx=(int)o;但这行得通:intx=(int)(decimal)o; 最佳答案 装箱值只能拆箱为完全相同类型的变量。这个看似奇怪的限制是一个非常重要的速度优化,它使.NET1.x在泛型可用之前变得可行。您可以在thisanswer中阅读更多相关信息.您不想跳过多重投篮,简单的值类型实现了IConvertible接口(interface)。您可以使用Convert类调用:objecto=12m;inti

【C++】类和对象(下篇)--->再识构造函数,static成员,友元,内部类,匿名对象

目录一、构造函数 1、构造函数体赋值 2、初始化列表 3、explicit关键字二、Static成员 1、概念 2、特性三、友元 1、友元函数 2、友元类四、内部类 1、概念 2、特性五、匿名对象六、拷贝对象时的一些编译器优化一、构造函数 1、构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。那这个过程是不是成员变量的初始化吗?其实不是的。classDate{public:Date(intyear,intmonth,intday){_year=year;_month=month;_day=day;}private:int_year;int_month;i

c# - 为什么 Enumerable.Cast 引发 InvalidCastException?

如果我可以隐式地将整数值转换为double值,例如:inta=4;doubleb=a;//nowbholds4.0为什么我不能这样做:int[]intNumbers={10,6,1,9};double[]doubleNumbers2=intNumbers.Cast().ToArray();我收到“指定的转换无效”InvalidCastException异常。相反的操作(从double转换为int)会导致相同的错误。我做错了什么? 最佳答案 好吧,您对Cast的期望不正确,仅此而已-它旨在处理装箱/拆箱、引用和身份转换,仅此而已。不幸

c# - 为什么 Enumerable.Cast 引发 InvalidCastException?

如果我可以隐式地将整数值转换为double值,例如:inta=4;doubleb=a;//nowbholds4.0为什么我不能这样做:int[]intNumbers={10,6,1,9};double[]doubleNumbers2=intNumbers.Cast().ToArray();我收到“指定的转换无效”InvalidCastException异常。相反的操作(从double转换为int)会导致相同的错误。我做错了什么? 最佳答案 好吧,您对Cast的期望不正确,仅此而已-它旨在处理装箱/拆箱、引用和身份转换,仅此而已。不幸

Cannot safely cast ‘createtime‘: string to timestamp;

这个问题发生在SparkSQL将数据迁移进Hive时会出现。这是因为从 Spark3.0.0 开始,Spark SQL增加了一个安全策略,不对非同类型的数据进行强制转换,然后就会出现这个错误。其中有三种策略:ANSI策略(),不允许Spark进行某些不合理的类型转换,如:string转换成timestamp。LEGACY策略,允许Spark进行类型强制转换,只要它是有效的Cast操作。STRICT策略,不允许Spark进行任何可能有损精度的转换。解决方法:1.修改Spark版本到3.0.0以下。2.修改策略为LEGACY例如:valspark:SparkSession=SparkSession

c# - `static` 在 C# 中是什么意思?

我对C#中static关键字的真正含义感到很困惑。我浏览了互联网上的不同文章,但没有一篇真正帮助我理解它的含义,而且其他来源也不可信。我知道StackOverflow有一些聪明的头脑可以帮助我理解staticlike的真正含义当它们被初始化时。静态方法、属性、类和构造函数静态与只读与常量 最佳答案 简而言之,static实际上意味着“与类型相关联,而不是与该类型的任何一个实例相关联”。所以对于一个类型(在AppDomain中),无论您有0个实例还是一百万个实例,都有一组静态变量;您不需要实例来访问静态成员等。静态变量的确切初始化点取