C#初步接触
如同非常多刚開始学习的人一样,刚接触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#初步接触的更多相关文章
- php大力力 [006节]初步接触认识phpMyAdmin
phpMyAdmin 2015-08-22 php大力力006. 初步接触认识phpMyAdmin 以下是phpAdmin网络截图: 这是通过MAMP一键安装的. php中MyAdmin的使用-猿代码 ...
- avalon - 初步接触
avalon - 初步接触 avalon的介绍http://rubylouvre.github.io/mvvm/ 按照作者的介绍,在HTML中添加绑定,在JS中用avalon.define定义View ...
- 初步接触CERNVM
初步接触的来源是对ROOT数据分析工具的搜索,看到一个叫做Life as a Physicist的国外博客.知道了这个包含容器分发的软件,跟重要的是,这个欧洲核子中心开发的平台,对于我等科研人员是一大 ...
- Spring boot -环境搭建 ,初步接触(1)
1. Eclipse 创建 maven project 项目目录如下: 2. pom.xml 配置文件 <project xmlns="http://maven.apache.or ...
- 为什么要使用puppet 及初步接触
为什么要使用puppet 及初步接触 1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...
- 初步接触html心得
接触HTML大概有七天,做一下小总结,过过记忆. html大致可分为三部分:Dtd头.Head.Body三大部分. Dtd头:是用于浏览器编辑的,也就是俗话说的给电脑看的的东西. Head:内细分下大 ...
- 实验记录一 初步接触cortex-M3
应该说老早就在接触cortex-M3了.曾经没想到会接触嵌入式,结果由于导师的缘故.在选择项目管理时,就呵呵了.不废话.搭配环境非常easy,纯粹傻瓜式.可由于自己的马虎,却让自己一直困惑. 记得在前 ...
- java_web学习(四) 二维表的制作(初步接触MVC)
我们需要做一个jsp页面,动态显示信息表的内容. 一.需求分析 1. 做一个实体类:StudentInfo (包含4个字段) 2. 如图模拟生成3条数据,本质上就是new StudentInfo ...
- Qt-QML-Loader初步接触
先说说为什么用到了QML的Loader,这里我就要先扯点别的,那就是QML自带的ColorDialog,QML的机制 是优先调用系统提供的ColorDialog,如果系统的ColorDialog的不可 ...
随机推荐
- java中的TreeMap如何顺序按照插入顺序排序
java中的TreeMap如何顺序按照插入顺序排序 你可以使用LinkedHashMap 这个是可以记住插入顺序的. 用LinkedHashMap吧.它内部有一个链表,保持插入的顺序.迭代的时候,也 ...
- Unity 改变类模板-为你的类添加一个命名空间
之前在写代码的时候,就很疑惑为什么创建类的时候.没有命名空间呢? 后来自己的类终于和别人写的类名字有冲突.... 如何修改Unity创建类的模板呢? 找到下面这个文件 然后修改 保存文件在Uni ...
- 只允许指定IP访问指定端口 ufw
那天工作需要在服务器上指定ip才可以访问指定端口,配置命令如下: (服务器是ubuntu 14.04系统) apt-get install ufw ufw enable ufw default den ...
- Pasha and String(思维,技巧)
Pasha and String Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u S ...
- 从一段代码看fork()函数及其引发的竞争
首先来看一段从<UNIX环境高级编程>中摘录的一段很有意思的代码.借此我们再来谈谈fork()函数的一些问题. #include "apue.h" static voi ...
- CentOS7安装mysql5.6.23 -(转)
一.下载glibc版本的Mysql mysql-advanced-5.6.23-linux-glibc2.5-x86_64.zip 解压后,得到 mysql-advanced-5.6.23-linux ...
- javascript 命名空间,学习
一. (function(){ var _NS=function(){ } _NS.prototype.alert=function(){ console.log('test'); } window. ...
- HDU 2072(单词数)题解
以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] “就是统计一篇文章里不同单词的总数”(已经是一句话了..) [题目分析] 明显需要去重,上set,因为按行分析,又没有EOLN用 ...
- [转载]ACM(访问控制模型),Security Identifiers(SID),Security Descriptors(安全描述符),ACL(访问控制列表),Access Tokens(访问令牌)
对于<windows核心编程>中的只言片语无法驱散心中的疑惑.就让MSDN中的解释给我们一盏明灯吧.如果要很详细的介绍,还是到MSDN仔细的看吧,我只是大体用容易理解的语言描述一下. wi ...
- Java数组的复制
初学Java的时候,需要复制数组的时候,一下子就想到使用赋值语句“=”,例如:array1 = array2:但后来慢慢发现,这个语句并不能将array2的内容复制给array1,而是将array2的 ...