如同非常多刚開始学习的人一样,刚接触C#的时候,也是一头雾水,学习了好长时间,都搞不清楚一些基本名称是什么。什么是C#?什么是.net?什么是visual
studio?它们之间有什么关系?以下我们就从这几个问题入手,来探究C#。

关于上边的几个问题,我发现了一个神级的回答。假设我们把用开发软件比作写汉字,那么visual studio就是笔,.net
就是纸,C#就是汉字的书写规则,依次类推,我们就能够依照C#的规则,使用vs在.net上边编敲代码。

理解了这几个问题,我们就能够从C#的基础知识開始了,既然它是一种语言或者说是编程的规则,那么就能够跟我们之前学过的vb有一定联系。这两种语言必定会有共同点和不同点,我们从这些异同点入手,会更加easy理解。下边是我总结的这两种语言在语言基础的异同点。

通过比較,发现它们在语言环境、基本结构、和数据类型、运算符还是有一点区别的,C#也是微软公司开发,可是vb是基于对象的开发语言,C#是全然意义上面向对象的开发语言。C#还改进了数据类型,引入了值和引用数据类型;此外它还在基本结构上添加了命名空间,程序集等内容;相对于传统的程序控制结构,C#并没有做太大的改变,它继续沿用了传统的三大控制结构,顺序、选择和控制,仅仅是流程控制语句不太一样;运算符方面,也进行了创新,添加了溢出、兼容推断等keyword。以下是C#学习过程中的导图:

我把C#视频内容分为四个部分,公共基础部分,就是全部的程序设计语言都会有的内容;独有特征,C#所特有的部分;面向对象,C#的核心编程思想;软件project,程序设计必备知识。公共基础已经在上边提到,面向对象不是本博客探讨内容,软件project驶入案件开发内容,下边我将主要介绍C#的独有特征部分。

C#既然是一种独立于其它语言之外的编程工具,必定有它的独到之处,面向对象我们暂且不提,以下下来探讨它的独有特点。

运算符重载:运算符重载并非让运算符再出现一次,而是又一次对它进行定义,赋予它新的命令;

索引符:索引的作用就是能够让类像数组一样被标记并訪问;

字符串:C#中使用正則表達式实现字符串功能;

数据类型转换:这个功能实现了程序在执行过程中进行须要进行数据类型转换的功能。

托付:托付是一个类,它定义了方法的类型,使得能够把一个方法当做还有一个方法的參数来传递,增强了程序的可扩展性;

事件:类似于数据库中的触发器,当程序执行到某个步骤的时候,触发这个事件。

异常处理:如其它面向对象程序语言一样,当程序遇到反常情况下的异常(网络问题、文件丢失等)时,程序能够进行自行处理。

写到这里,C#的初步介绍就算完毕了,接下来会使用C#写一些程序,对C#的认识也会更加深刻。

C#初步接触的更多相关文章

  1. php大力力 [006节]初步接触认识phpMyAdmin

    phpMyAdmin 2015-08-22 php大力力006. 初步接触认识phpMyAdmin 以下是phpAdmin网络截图: 这是通过MAMP一键安装的. php中MyAdmin的使用-猿代码 ...

  2. avalon - 初步接触

    avalon - 初步接触 avalon的介绍http://rubylouvre.github.io/mvvm/ 按照作者的介绍,在HTML中添加绑定,在JS中用avalon.define定义View ...

  3. 初步接触CERNVM

    初步接触的来源是对ROOT数据分析工具的搜索,看到一个叫做Life as a Physicist的国外博客.知道了这个包含容器分发的软件,跟重要的是,这个欧洲核子中心开发的平台,对于我等科研人员是一大 ...

  4. Spring boot -环境搭建 ,初步接触(1)

    1. Eclipse 创建 maven project  项目目录如下: 2. pom.xml  配置文件 <project xmlns="http://maven.apache.or ...

  5. 为什么要使用puppet 及初步接触

    为什么要使用puppet 及初步接触   1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...

  6. 初步接触html心得

    接触HTML大概有七天,做一下小总结,过过记忆. html大致可分为三部分:Dtd头.Head.Body三大部分. Dtd头:是用于浏览器编辑的,也就是俗话说的给电脑看的的东西. Head:内细分下大 ...

  7. 实验记录一 初步接触cortex-M3

    应该说老早就在接触cortex-M3了.曾经没想到会接触嵌入式,结果由于导师的缘故.在选择项目管理时,就呵呵了.不废话.搭配环境非常easy,纯粹傻瓜式.可由于自己的马虎,却让自己一直困惑. 记得在前 ...

  8. java_web学习(四) 二维表的制作(初步接触MVC)

    我们需要做一个jsp页面,动态显示信息表的内容. 一.需求分析 1.  做一个实体类:StudentInfo (包含4个字段) 2.  如图模拟生成3条数据,本质上就是new StudentInfo ...

  9. Qt-QML-Loader初步接触

    先说说为什么用到了QML的Loader,这里我就要先扯点别的,那就是QML自带的ColorDialog,QML的机制 是优先调用系统提供的ColorDialog,如果系统的ColorDialog的不可 ...

随机推荐

  1. C++静态成员函数不能调用非静态成员变量

    其实我们从直观上可以很好的理解静态成员函数不能调用非静态成员变量这句话因为无论是静态成员函数还是静态成员变量,它们 都是在类的范畴之类的,及在类的整个生存周期里始终只能存在一份.然而非静态成员变量和非 ...

  2. 开源安卓播放器:Dolphin Player 简单分析

    Dolphin播放器(Dolphin Player)是一款开源的音频和视频播放器,它支持大多数的音频和视频文件模式,也支持大部分的字幕文件格式.它是基于ffmpeg的. 项目主页:http://cod ...

  3. 给Visual Studio更替皮肤和背景图

    给Visual Studio更换皮肤和背景图 1.先安装更换皮肤的插件  VS菜单栏里面找到:工具>扩展和更新>联机>搜索: Theme Editor   下载并安装: 安装后先不着 ...

  4. iOS https认证 && SSL/TLS证书申请

    1.下面列出截止2016年底市面上常见的免费CA证书: 腾讯云SSL证书管理(赛门铁克TrustAsia DV SSL证书)阿里云云盾证书服务(赛门铁克DV SSL证书)百度云SSL证书服务Let's ...

  5. 谱聚类--SpectralClustering

    谱聚类通常会先对两两样本间求相似度. 然后依据相似度矩阵求出拉普拉斯矩阵,然后将每一个样本映射到拉普拉斯矩阵特诊向量中,最后使用k-means聚类. scikit-learn开源包中已经有现成的接口能 ...

  6. poj1080--Human Gene Functions(dp:LCS变形)

    Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17206   Accepted:  ...

  7. php 中利用json_encode和json_decode传递包括特殊字符的数据

    </pre><span style="font-size:24px"></span><pre name="code" ...

  8. oninput,onpropertychange,onchange的使用方法和差别

    1.前言 因为工作须要,需实现一个相似于微博输入框的功能,在用户动态输入文字的时候,改动提示“您还能够输入XX字”.例如以下图所看到的: 因此,略微研究了一下oninput,onpropertycha ...

  9. RMAN数据库恢复之控制文件和参数文件恢复

    一.控制文件的恢复1.查询控制文件的路径 SQL> SELECT * FROM V$CONTROLFILE; STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SI ...

  10. apache 限制指定user_agent

    有些user_agent 不是我们想要的,可以通过rewrite功能针对 %{HTTP_USER_AGENT} 来rewirete到404页,从而达到限制某些user_agent的请求.   配置如下 ...