当前位置 博文首页 > 浮若星光的博客:类型转换

    浮若星光的博客:类型转换

    作者:[db:作者] 时间:2021-07-12 13:02

    类型转换

    
    开发工具与关键技术: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