类型转换
开发工具与关键技术:C# MVC
作者:李宥良
撰写时间:2019年7月16日
当数据类型不一样时,将会发生数据类型转换。
大部分类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换。无论哪种情况,在类型转换中,类型转换都是简短的一步操作。首先我们简单说一下数据类型吧
数据类型在C#中数据类型主要分两大类值类型和引用类型
值类型,值类型在C#中包括3种:简单类型、结构类型、枚举类型
简单类型又包括整数类型、浮点类型、小数类型、布尔类型
整数类型的数据集只能是整数 浮点类型 小数在C#中采用浮点类型的数据来表示,
浮点类型的数据包括两种:单精度浮点型、双精度浮点型,其区别在于取值范围和进度不同,小数类型是高精度的类型数据,
布尔类型数据用于表示逻辑真,逻辑假。
所以数据不同,类型就不同,当数据类型不一样时,将会发生数据类型转换。
数据类型在一定的条件下可以相互转换的,如将int类型数据转换成double型数据。C#允许使用两种转换方式:隐式转换和显式转换
隐式转换是系统默认的,不需要加以声明就可以进行转换的。
显式转换又叫强制类型转换,与隐式类型相反,显式转换需要用户明确地 指定转换类型,一般在不存在该类型的隐式转换的时候在使用。
自动类型转换(隐式转换)
1. 特点:代码不需要进行特殊处理,自动完成。
2. 规则:数据范围从小到大。
强制类型转换(显式转换)
public class IQueryDocument: B_SellInvoice
{
private string Time;
public string BillsOddDateD//转换对象名称
{
set
{
try
{
DateTime dt = Convert.ToDateTime(value);//转换类型
Time = dt.ToString("yyyy/MM/dd HH:mm:ss");//日期转换类型格式
}
catch (Exception)
{
Time = value;
}
}
get
{
return Time;
}
}
}
控制器代码
var ISellInvoice = from BSellInvoice in
myModel.B_SellInvoice
????????????????? orderby BSellInvoice.SellInvoiceID descending
????????????????? select new IQueryDocument
?{
???????????????? SellClientID =
BSellInvoice.SellClientID,
???????????????? SellInvoiceID =
BSellInvoice.SellInvoiceID,
???????????????? SellInvoiceNumber = BSellInvoice.SellInvoiceNumber,//单号
???????????????? BillsOddDateD =
BSellInvoice.FoundTime.ToString(),//开单日期//转换对象
???????????????? Operator =
BSellInvoice.Operator,//操作人
???????????????? AllMoney =
BSellInvoice.AllMoney,//总金额
???????????????? ClientType =
BSellInvoice.ClientType,//客户名称
???????????????? AuditNo =
BSellInvoice.AuditNo,//审核否
???????????????? InvoiceNo =
BSellInvoice.InvoiceNo,//编号
???????????????? InvoiceNumber =
BSellInvoice.InvoiceNumber,//发票号码
???????????????? DealDate = BSellInvoice.DealDate,//交货日期
???????????????? AuditMan =
BSellInvoice.AuditMan,//审核人
???????????????? BillsOddDateD1=
BSellInvoice.AuditTime.ToString(),//审核日期//转换对象
???????????????? Remark = BSellInvoice.Remark,//备注
?? };
cs