[AaronYang]C#人爱学不学[6]

不要回头,不要将就,做到这两点,人生就会简单很多幸福很多 --Aaronyang的博客(www.ayjs.net)-www.8mi.me

1. 运算符,还有哪些你能学到?

1.1 不安全运算符: sizeof(.net framework1.0和1.1中的)、*、-> 、&

1.2 checked和unchecked运算符:溢出异常控制运算符

byte类型只能0-255的数,超过就会导致溢出。执行溢出检查用checked,禁止溢出检查用unchecked。

1.3 类型信息运算符:sizeof(可以确定栈中值类型需要的长度(单位:字节))      is    as      typeof

1.4 开发很少用到的 << 左位移     >> 右位移,同样的有 <<=    和 >>=    等同于 x=x>>y

1.5 只要稍微开发时间多一点,就会看到      int? x=1  很多类似这种形式的代码,标记值类型为可空类型,同样的还有 ??运算符,我在前面讲过了

1.6 运算符的优先级。。。我只能凭感觉,也没多大意义,类型转换大家都会

1.7 比较,还有 ReferenceEquals() 引用地址比较

1.8 运算符重载

在对自己定义的类或者结构进行 运算符(例如+-*%/等)操作,可以重载运算符

① 定义MyPoint(两个double)

   public struct MyPoint
    {
        private double x, y;
        public MyPoint(double x, double y) {
            this.x = x;
            this.y = y;
        }

        public override string ToString()
        {
            return "("+this.x+","+this.y+")";
        }
    }

②定义乘法*操作 :    格式:  public static 返回值 operator 操作符(参数)

  public static MyPoint operator *(MyPoint one, MyPoint two) {
            return new MyPoint(one.x * two.x, one.y * two.y);
        }

效果:

同样的你还可以定义其他操作,有些操作符特殊,必须成对重载,例如 ==和!=        >和<     >=和<=

1.9 类型的隐式和显示转换 重载

说白了,定义类型间隐式与显示的转换,不怎么常用,知道就好了。例如格式:

隐式转换 public static implicit operator float (MyFloat value),使用案例: float a=value;

显示转换 public static explicit operator MyFloat (float value),使用案例: MyFloat a=(MyFloat)value;

这里不局限于用系统内的类型,例如float,你也可以用其他的。

时间: 2024-08-05 23:18:21

[AaronYang]C#人爱学不学[6]的相关文章

[AaronYang]C#人爱学不学[4]

本文章不适合入门,只适合有一定基础的人看.我更相信知识细节见高低,我是从4.0开始学的,终于有时间系统的学习C#5.0,是5.0中的知识,会特殊标记下.但写的内容也可能含有其他版本framework的知识,也是为了方便自己更好的记忆C#知识.文章内容都是自己总结,无抄袭,如果你觉得文章档次太低,请大牛绕道 --Aaronyang的博客(www.ayjs.net) 1. 泛型-是C#的泛型 1.1 性能方面比非泛型好点,比如拆箱装箱的问题.个人感觉代码可读性更好吧.还有就是 写代码可能可以写出很精

[AaronYang]C#人爱学不学[3]

本文章不适合入门,只适合有一定基础的人看.我更相信知识细节见高低,我是从4.0开始学的,终于有时间系统的学习C#5.0,是5.0中的知识,会特殊标记下.但写的内容也可能含有其他版本framework的知识,也是为了方便自己更好的记忆C#知识.--Aaronyang的博客(www.ayjs.net) 1. 继承-的疑虑 1.1 一个类,只有一个父类,可以实现多个接口,还要注意顺序 一个结构,没有父类,可以实现多个接口 接口可以继承多个接口,子类必须全部实现 public class myclass

[AaronYang]C#人爱学不学[5]

这世上有三样东西是别人抢不走的:一是吃进胃里的食物,二是藏在心中的梦想,三是读进大脑的书 --Aaronyang的博客(www.ayjs.net) 1. 数组-的疑惑? 1.1  多维数组       例如int[,]  a=new int[2,4]; 共两行,每组4个.     int[,] a={{1,2,3,4},{6,7,8,9}} 1.2  锯齿数组       例如int[][] a=new int[2][];可以确定一共2行,但每行几个不知道,所以可以任意个.导致每行的长度可能不一

[AaronYang]C#人爱学不学8[事件和.net4.5的弱事件深入浅出]

没有伟大的愿望,就没有伟大的天才--Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 事件-我的讲法 老师常告诉我,事件是特殊的委托,为委托提供了一种发布/订阅机制. 自定义事件:自定义一个类,继承EventArgs 使用泛型委托EventHandler<T>,本质:public delegate void EventHandler<TEventArgs>(object sender,TEventArgs e) where  TEventHandle

[AaronYang]C#人爱学不学[7]

做一个决定,并不难,难的是付诸行动,并且坚持到底 --Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 委托-我的总结 1.1 委托:面试我都会说,把方法当参数.委托包含的只是一个或多个方法的地址. 示例1:(一次执行多个同方法签名的方法) /* *2015年1月3日23:12:13 aaronyang *网址:www.ayjs.net www.8mi.me */ using System; using System.Collections.Generic; us

[AaronYang]C#人爱学不学[1]

1. 记事本写C#,脱离vs 新建记事本,名字为 helloworld.cs using System; namespace Hello{ public class HelloWorldSay{ static void Main(){ Console.WriteLine("你好,世界"); Console.ReadLine(); return; } } } 简单的使用csc命令编译: 我的目录在:C:\Program Files (x86)\Microsoft Visual Studi

我是一个有点内向爱思考的人,学IT有一年时间了

我是一个有点内向爱思考的人,学IT有一年时间了.我主要是学php,asp这方面html,js,css,sqlserver,c#,mysql个人数据库 也都学了一些,我的优势是在学习期间做过和同学一起完成的商城网项目:“京东商城“,期间让我认识了网站架构模板和后台的强大也积累了不少做这类项目的经验.我对编程语言理解深刻,有很深的编程思想,自学能力强(属于实力派). 我的能力总结: 1.对微软系统的产品有较长时间的操作经验,3年的C#开发经验,项目包括公司进销存软件,人事管理软件以及公司年终抽奖软件

我这种人都学得了编程,你呢?

我这种人都学得了编程,你呢? 声明,我也是在学习中,如果看得起可以跟我一起学习! 先自我介绍一下吧,给没信心的朋友找找信心! 今天是2014年5月7日,正在上初三,还有一个月的时间就初中毕业了. 很多人都认为自己学历不够,英语不好想学但是又不敢学.很多人都认为我很聪明,学习很棒. 其实不是,我都不好意思说我这次月考,考了全级800多名,全级才850多人.初中三年我大概睡了一年的觉,我这种人都能学了编程你呢?? 如果你真的对编程有兴趣就开始学吧,很多教程里都说兴趣是最好的老师,我感觉这句话一点都没

什么样人适合学平面设计?零门槛入门工具收藏

有很多人问我,什么人适合学平面设计.我想告诉大家,喜欢是基于爱好,况且是互联网时代,一些基本的制图和素材审美,在日常工作中会提升我们的格调,找到属于自己的风格.没基础没有关系,今天小编安利给大家一款超简单的菲果在线设计工具,也能让零基础的你迅速上手. 选择菲果的六大原因 一.6大场景,46个分类菲果设计提供6大场景的平面模板,包括广告印刷.网络媒体.办公文档.电商促销.卡片.生活,这些是大家平时最常用的场景.6大场景又可以划分出46个垂直分类,比如微信公众号文章首图模板适合新媒体人使用,比如淘宝