• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#用户定义类型转换详解

C#用户定义类型转换详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#用户自定义控件,2013c#用户自定义控件,c#用户登录界面代码,c#用户控件,c#用户登录界面设计等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C#用户定义类型转换

•用于自定义类和结构能够进行隐式转换和显示转换.例如:将一个自定义类类型转换成整型,浮点型等,反之亦然.

C#提供隐式转换和显式转换

•隐式转换:编译器自动执行转换
•显式转换:编译器只在使用显式转换运算符时才执行转换
声明隐式转换的语法如下.注:所有用户定义转换必须使用public和static修饰符

参数Identitfier:源数据

例如,下面代码使一个int字面量被隐式转换为LimitedInt对象,反过来LimitedInt也可以隐式转换成一个int

        private int _theValue = 0;
        //属性
        public int TheValue
        {
            get { return _theValue; }
            set
            {
                if (value < MinValue)
                {
                    _theValue = 0;
                }
                else
                {
                    _theValue = value > MaxValue ? MaxValue : value;
                }
            }
        }

        //隐式转换:将LimitedInt对象转为整型
        public static implicit operator int(LimitedInt li)
        {
            return li.TheValue;
        }

        //隐式转换:将整型转换为LimitedInt对象
        public static implicit operator LimitedInt(int x)
        {
            LimitedInt li = new LimitedInt();
            li.TheValue = x;
            return li;
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            LimitedInt li = 500; //将500转换为LimitedInt

            int value = li;  //将LimitedInt转换为int

            Console.WriteLine("li:{0},value:{1}", li.TheValue, value);

            Console.ReadKey();
        }
</div>
改代码输出结果:li:100,value:100

显示转换和强制转换运算符

前面所讲的都是隐式转换,如果你把运算符implcit改为explicit,你将不得不在实行转换时显示使用转换运算符

代码片段如下:

        //显示转换:将整型转换为LimitedInt对象
        public static explicit operator LimitedInt(int x)
        {
            LimitedInt li = new LimitedInt();
            li.TheValue = x;
            return li;
        }

        static void Main(string[] args)
        {
            LimitedInt li = (LimitedInt)500; //将500强制转换为LimitedInt

            int value = (int)li;  //将LimitedInt强制转换为int

            Console.WriteLine("li:{0},value:{1}", li.TheValue, value);

            Console.ReadKey();
        }
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • c#之用户定义的数据类型转换介绍
  • C#用户定义类型转换详解
  • 解析C#自定义控件的制作与使用实例的详解

相关文章

  • 2017-05-28npoi2.0将datatable对象转换为excel2007示例
  • 2017-05-28C#实现HTTP上传文件的方法
  • 2017-05-28c#下将.cs文件编译成dll
  • 2017-05-28C#设计模式之观察者模式实例讲解
  • 2017-05-28c#基础学习之封装
  • 2017-05-28C#实现在控制台输入密码显示星号的方法
  • 2017-05-28浅析C#静态类,静态构造函数,静态变量
  • 2017-05-28Js中的substring,substr与C#中的Substring比较
  • 2017-05-28C#读取计算机CPU及HDD信息的方法
  • 2017-05-28C# 获取程序集版本、文件版本

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 浅析C#静态类,静态构造函数,静态变量
    • C#折半插入排序算法实现方法
    • picturebox加载图片的三种方法与网站验证码的抓取
    • 简单的excel导入导出示例分享
    • C#获取串口列表实现实时监控串口
    • utf8编码检测方法分享
    • C# MVC模式中应该怎样区分应用程序逻辑(Controller层)和业务逻辑(Model层)?
    • C#模式画刷HatchBrush用法实例
    • 深入理解c# checked unchecked 关键字
    • C#基础知识之this关键字介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有