zoukankan      html  css  js  c++  java
  • C# 运算符重载和 implicit关键字

    运算符重载是指允许用户使用用户定义的类型编写表达式的能力。它允许用户定义的类型与预定义的类型具有相同的功能。

    implicit 关键字用于声明隐式的用户定义类型转换运算符。如果转换过程可以确保不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。

    public class Student
        {
            public Student()
            {

            }
            public Student(string name)
            {
                this.Name = name;
            }
            public string Name
            {
                get;
                set;
            }
            public int Age
            {
                get;
                set;
            }
            public static Student operator &(Student s1, Student s2)
            {
                Student st = new Student();
                st.Age = s1.Age + s2.Age;
                return st;
            }
            public static implicit operator Student(string name)
            {
                return new Student(name);
            }
    class Program
        {
            static void Main(string[] args)
            {
                Student s1 = new Student() { Name = "wang", Age = 11 };
                Student s2 = new Student() { Name = "Li", Age = 13 };
                Student st = s1 & s2;
                Console.WriteLine(st.Age);
                Fun("wanglijiang");
            }
            static void Fun(Student st)
            {
                Console.WriteLine(st.Name);
            }

        } 


    作 者:清水无鱼
    出 处:http://www.cnblogs.com/wzpo/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面 明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    通过URL地址将图片保存到本地
    Sql批量提交方法
    MySql 批量提交方法
    【Sqlserver】查看所有数据库的大小 创建日期 名称 版本级别 状态
    【asp.net】滑块验证码(分享一个从github上下载的源码)
    【winform】 WeifenLuo.WinFormsUI.Docking.dll 组件学习
    【C#】初次使用webapi的体会
    【C#】 封装的异步HttpRequest
    Android实现双时间选择器
    Android的金额3位数加逗号分隔
  • 原文地址:https://www.cnblogs.com/wzpo/p/2413642.html
Copyright © 2011-2022 走看看