zoukankan      html  css  js  c++  java
  • 关于C#的学习

    长期以来对C#的认识一直停留在微软件开发的完全面向对象的语言的模糊印象上,对其工程也缺乏多文件以上级别的修改能力,而当前流行度的驱使下,想深入了解它并运用。

    于是从git上下载了一个C#开源项目,打开工程查看了一翻。。。

    一、工程

      工程以.cs文件为主,少编译出来的二进制文件,以及工程配置文件是其它后缀。

      虽然后缀大多是.cs,但工程还是以不同特定命名的文件来分开存储不同功能的文件。

      代码及其源文件都是.cs文件,并且与C/C++不同的是它没有头文件,可能这是C/C++程序员在刚接触时最大的障碍了。

      C#中有许多开源库,但以引用的形式包含在工程中,这替代和简化了类似C/C++头文件的功能。

      C#中多出了委托、事件机制, 委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发 )事件的类称为“发布者” ,接收(或处理 )事件的类称为“订阅者” 。

    二、运算符

      学一种新的语言,最关键的还是先了解其运算符,运算符是语言的芯片。这也是构成整个语言最基本的规则。所有的数据无论是关键字、变量、表达式,都需要有运算符连接起来才有意义,否则,也不过一个死的字母堆。

      语言因为运算符而千变万化,驾驭运算符就犹如天地间的弄潮儿,上九天、下五洋。

      了解到C#的一些关键特性之后,与C/C++相比,需要特别注意的运算符便有以下几种:(如果重载 ==,则还必须重载 !=)

      +  运算符既可作为一元运算符也可作为二元运算符,委托类型也提供二元 + 运算符,该运算符执行委托串联。

      -  运算符既可作为一元运算符也可作为二元运算符,委托类型也提供二元 - 运算符,该运算符执行委托移除。

    *  乘法运算符 (*),用于计算操作数的积。另外还用作取消引用运算符,允许读取和写入指针。* 运算符还用来声明指针类型和取消引用指针。该运算符只能在不安全的上下文中使用,通过unsafe 关键字的使用来表示,并且需要 /unsafe 编译器选项。取消引用运算符也称为间接寻址运算符。

    &   运算符既可作为一元运算符也可作为二元运算符。一元 & 运算符返回操作数的地址(要求 unsafe 上下文)。

    +=  加法赋值运算符,不能直接重载 += 运算符,但用户定义的类型可以重载 + 运算符(请参见 operator)。【联系到+与委拖相关的功能,想必这个运算符也具有该功能,其它相关符号类似】

    <<=  左移赋值运算符。

    ->  运算符将指针取消引用与成员访问组合在一起。-> 运算符只能在非托管代码中使用。不能重载 -> 运算符。

    ??  如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数。

     

    特殊的,下边这个符号未被收录在C#的运算符中,只用在了类继承之中

     :  用于继承

     

    三、关键字

      主要关注了一下C#与C/C++中不同的关键字,以便快速了解语法

      几个典型的关键字如:

      decimal  16字节的浮点,比double类型浮点8字节大一倍。

      delegate 是一种可用于封装命名方法或匿名方法的引用类型。

      event 关键字用于声明发布服务器类中的事件。

      通过关键字,可以知道,C#是强类型的

  • 相关阅读:
    tp5最强分页 自定义model,控制器引用。只显示一页
    tp5分页,一看就懂,简单明了(附带额外参数)
    PHP 验证5-20位数字加字母的正则(数字和字母缺一不可)!!!
    表格样式
    tp5中很牛皮的一句sql语句,三个条件(两个不确定条件,一个硬性条件)
    centos6.8下搭建git和gitlab版本库
    解决 nginx: [alert] kill(1022, 1) failed (3: No such process)
    Zabbix利用msmtp+mutt发送邮件报警
    nginx基本配置与参数说明
    Linux添加/删除用户和用户组
  • 原文地址:https://www.cnblogs.com/ice-arrow/p/11951297.html
Copyright © 2011-2022 走看看