command.Parameters["@TypeName"].Value = this.sTypeName == null ? DBNull.Value : (object)this.sTypeName;请注意上面这个‘表达式’加粗的部分,若去掉它(object),则会出现下面这个错误:无法确定条件表达式的类型,因为“System.DBNull”和“string”之间没有隐式转换我的问题是:
我将后面的字符串强行转换成 object 类型(应该叫装箱操作吧),虽然可以编译通,但在,在实体类中,作为参数的字段多则会有几十个,
1,这样会在性能上损失多少?
2,还会造成哪些影响?
3,是否建议这样用?
我将后面的字符串强行转换成 object 类型(应该叫装箱操作吧),虽然可以编译通,但在,在实体类中,作为参数的字段多则会有几十个,
1,这样会在性能上损失多少?
2,还会造成哪些影响?
3,是否建议这样用?
这样用不会有太大影响的
上面不加 object 的话,也可以用 if...else.. 若就代码效率来说,我更愿意使用 object,
这两种方法,哪种执行效率更高一些?
command.Parameters["@TypeName"].Value = this.sTypeName ?? DBNull.Value;
行不行?