社区
C#
帖子详情
C#中如何实现动态的显式转换数据类型!
iampawpawcsdn
2004-12-24 02:35:38
问题是这样的:
假设变量 string x;
对应的数据库中的字段 x1 也是char型的;
用DataReader读出来后,想有个动态读取模块,
想写成类似下面的语句
x = (typeof(x))DataReader["x1"];
但是上面的写法是无法通过的,究竟该怎么写呢?
...全文
276
14
打赏
收藏
C#中如何实现动态的显式转换数据类型!
问题是这样的: 假设变量 string x; 对应的数据库中的字段 x1 也是char型的; 用DataReader读出来后,想有个动态读取模块, 想写成类似下面的语句 x = (typeof(x))DataReader["x1"]; 但是上面的写法是无法通过的,究竟该怎么写呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thinhunan
2004-12-25
打赏
举报
回复
ToString()不就行了
ET2004
2004-12-25
打赏
举报
回复
这样的话,传进来的参数应该使用 object,试参考一下 SqlParameter 的存储过程参数名和参数值的传递方法。
沈逸
2004-12-25
打赏
举报
回复
一个列子 你把你会出现的类型 都这样 定义一下 其实有的时候还是要 写点代码的 太动态了也不好
沈逸
2004-12-25
打赏
举报
回复
public static implicit operator DataTable(DBView dbview)//隐式的转换成DataTable
{
return dbview.m_DataTable;
}
public static explicit operator DBView(DataTable datatable)//显式转换DataTable为dbview
{
DBView pDb=new DBView();
pDb.m_DataTable=datatable;
return pDb;
}
风轻扬
2004-12-25
打赏
举报
回复
用swtich...case比较好,把string和int这样的类型放在前面进行匹配,这样匹配次数会少一些。
悄悄的回来了
2004-12-24
打赏
举报
回复
用SWITCH 或 IF 就够好了!
iampawpawcsdn
2004-12-24
打赏
举报
回复
Richardhu(学无止境):
我也是这样想的,写一个switch语句,但是有没有更好的办法呢?
lgg06
2004-12-24
打赏
举报
回复
up
Richardhu
2004-12-24
打赏
举报
回复
if(str1.GetType()== typeof(string))
{}
if(str1.GetType()== typeof(int))
{}
...
一个一个来做
cnhgj
2004-12-24
打赏
举报
回复
x = DataReader["x1"].ToString();
rustical
2004-12-24
打赏
举报
回复
x = CType(DataReader["x1"], string)
兔子-顾问
2004-12-24
打赏
举报
回复
Convert
iampawpawcsdn
2004-12-24
打赏
举报
回复
(x.gettype())DataReader["x1"];
这样写不行,我试过了,因为想把这个部分写成通用的。
传进来的变量名和字段名,类型都是一样的。
盗奶的夜猫
2004-12-24
打赏
举报
回复
(x.gettype())DataReader["x1"];
为什么要用呢??
C#
数据类型
转换
实验
C#
数据类型
与变量,设计
显式
转换
和Convert类
转换
的程序处理
c#
之用户定义的
数据类型
转换
介绍
c#
允许用户进行两种定义的
数据类型
转换
,
显式
和隐式,
显式
要求在代码
中
显式
的标记
转换
,其方法是在圆括号
中
写入目标
数据类型
。 对于预定义的
数据类型
,当
数据类型
转换
时可能失败或丢失某些数据,需要
显式
转换
, 1 把int数值
转换
成short时,因为short可能不够大,不能包含
转换
的数值。 2 把有符号的数据
转换
为无符号的数据,如果有符号的变量包含一个负值,会得到不正确的结果。 3 把浮点数
转换
为整数
数据类型
时,数字的小数部分会丢失。 此时应在代码
中
进行
显式
数据类型
,告诉边起义你知道这会有丢失数据的危险,因此编写代码时套把这些可能考虑在内。
c#
允许定义自己的
数据类型
,这意味着需要某些工具支持在自己
用
C#
实现
工控上位机
结合Github高星开源项目SharpSCADA讲解工控上位机开发,重视基础,突出实战,为广大工控从业者、编程爱好者提供一种新颖的解决方案,可以快速搭建强大易用可扩展的工控上位机,并在此开源项目基础上开发工业大数据和MES系统,定制个性化的工业自动化行业解决方案。在学习过程
中
,可加深对
C#
语言和.NET平台的理解,进一步了解工业以太网协议,熟练对WPF技术的应用,透析组态软件的架构。
详解
c#
类型
转换
类型
转换
从根本上说是类型铸造,或者说是把数据从一种类型
转换
为另一种类型。在
C#
中
,类型铸造有两种形式: 隐式类型
转换
– 这些
转换
是
C#
默认的以安全方式进行的
转换
, 不会导致数据丢失。例如,从小的整数类型
转换
为大的整数类型,从派生类
转换
为基类。
显式
类型
转换
–
显式
类型
转换
,即强制类型
转换
。
显式
转换
需要强制
转换
运算符,而且强制
转换
会造成数据丢失。 下面的实例显示了一个
显式
的类型
转换
: namespace TypeConversionApplication { class ExplicitConversion { static void Main(string
c#
入门——09变量类型的
转换
一 类型
转换
的分类 类型
转换
分为两大类:隐式
转换
和
显式
转换
隐式
转换
:也就是自动
转换
。编译器自动识别,不需要自己额外写更多的代码。
显式
转换
:也就是强制
转换
。告诉编译器,什么类型
转换
到什么类型。 二 隐式
转换
小类型的数据可以自动
转换
为大类型的数据,具体看下表: 举个例子:想byte类型变成int类型: byte a=6; int b=a; 三
显式
转换
接下来介绍4种
显式
转换
的方法 3.1 大类型变成小类型 其实就是针对上面两张图反过来
实现
的应用。具体举个例子 如果,我们想将int类型
转换
成byte: int a=3; byte b=(byte)a; 在变量前面加上括号和你想转变的类
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章