Step by step:一起来学C# (1)

前言:大二开始接触C#,除了做出来的界面丑点(也可能是我自个儿的审美问题?),功能很强大,上手超快。不用抱着一本类似c#从入门到精通的书看到睡着,掌握基本的编程思想就ok,有一定c语言基础就更棒啦。学习c#,感觉直接开干是最好的选择,它本身封装很多类库,遍历学习不现实,我使用c#好几年,都是哪里不会,查一查补上就好。

说他简单,很重要的一个原因是:C#的winfrom有很多控件,可视化的操作,省时省力。春节在家无聊,修改C#编写的切图程序的时候,被学机械的弟弟嘲讽了:你们写程序就是这样拖控件啊,我也会啊!总之,这是一个很适合前端菜鸟(比如我)的语言。

闲话少叙,这一篇文字,是《Step by step:一起来学C#》的开篇,之后会保持更新。

《Step by step:一起来学C#》将从C#的几篇简单介绍(包括C#能做些什么、C#的通用知识等)开始逐渐展开,后续将以实战为主要内容(包括新建C#工程、控件的使用、完整的功能程序等)。


嘎嘎嘎

一、用C#能编写的程序

1.Windows应用程序

这些应用程序(如Microsoft  Office)具有我们很熟悉的Windows外观和操作方式,使用.NET Framework的Windows Forms模块就可以简便地生成这种应用程序。Windows Forms模块就是一个空间库,其中的控件(例如,按钮、工具栏、菜单等)可以用于建立Windows用户界面(UI)。


winform程序示例

2.WEB应用程序

它们是一些Web页面,可以通过任何Web浏览器查看。.NET Framework包括一个动态生成Web内容的强大系统,允许进行个性化和实现安全性等,这个系统叫做Active

Server Pages .NET(ASP.NET),我们可以通过使用C#编写在浏览器内部运行的应用程序。


Web页面示例

3.WEB服务

这是创建各种分布式应用程序的新方式,使用Web服务可以通过Internet虚拟交换数据。无论使用什么语言创建Web服务,也无论Web服务驻留在什么系统上,都使用一样简单的语法。

二、C#的通用知识

C#是一个面向对象的编程语言,那什么叫面向对象呢,又包含哪些我们需要了解的要素呢?下面我们简要阐述一下C#编程需要知道的一些通用知识。

1 面向对象编程

面向对象编程是相对于面向过程编程而言的一个概念。

1.1面向过程

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

例如五子棋,面向过程的设计思路就是首先分析问题的步骤:

1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

作者:fiisio    链接:https://www.zhihu.com/question/28790424/answer/42102986    来源:知乎著作权归作者所有。

c语言便是标准的面向过程的编程语言。

1.2面向对象

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

五子棋,面向对象的设计思路区别于1.1中给出方式,它将整个五子棋相关角色分别建立一个对象:

1、玩家对象:黑白双方,这两方的行为是一模一样的,2、棋盘对象:棋盘系统,负责绘制画面,3、裁判对象:规则系统,负责判定诸如犯规、输赢等。

第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(裁判对象,即规则系统)来对棋局进行判定。

作者:fiisio    链接:https://www.zhihu.com/question/28790424/answer/42102986    来源:知乎著作权归作者所有。 

面向对象编程(ObjectOriented Programming,OOP)是创建计算机应用程序的一种相当新的方法,它解决了传统编程技巧带来的许多问题。OOP技术使用许多代码模块,每个代码模块都提供了特定的功能,并且每个模块都是独立的,甚至于其他模块完全独立。这种模块化编程方法提供了非常大的多样性,大大增加了重用代码的机会。总的来说,OOP技术以结构、数据的含义以及数据和数据之间的交互操作为基础。

2 对象的三要素

对象是面向对象应用技术的一个组成部件。这个组成部件封装了部分应用程序,这部分程序可以是一个过程、一些数据、一些更抽象的实体。它包含变量成员和函数类型。它所包含的变量组成了存储在对象中的数据,其中包含的函数可以访问对象的功能。略为复杂的对象可能不包含任何数据,而只包含函数,表示一个过程。比如说,封装程序表示打印机的对象,其中的函数可以控制打印机(允许打印文档、测试页等),其中的变量数据表示打印机的相关信息(出厂日期、型号等)。

C#中的对象是从类型中创建的,对象的类型在OOP技术中有一个特殊的名称:类。可以使用类的定义实例化对象,这表示创建该类的一个实例。“类的实例”和对象含义相同,但是“类”和“对象”是完全不同的概念。例如:狗是一个(可以表示所有的狗狗有共同的一部分属性、行为),你养的那一只可爱的狗狗则是狗的一个实例(拥有个体独特的属性和行为),也可称作狗这个类的一个对象

对象有三要素,属性、事件及方法。简单地说,(1)属性是这样一些变量,它们描述了对象的一些特性;(2)方法是对象包含的这样一些函数,执行他们可以实现对象的特定功能;(3)事件则向对象通知外部的操作,如对一个按钮来说,鼠标单击就是一个事件。

这段真的是超级抽象了,不方,我们举个栗子


举个栗子

//这是一个宝宝类

class baby

{

    //下面这些是属性

    int age;//年龄

    string name;//名字

    //下面这些是方法

    public void cry();//会哭

     public void smile();//会笑

}

//这是实例化的一个宝宝对象

baby mybaby=new baby();

/*

然后你可以给宝宝取名字,宝宝也会有自己的年龄;

事件的话:宝宝知道你给他取名叫狗蛋儿,他长大懂事了一定会哭哒;对他拍手,他高兴可能就会笑啦。

*/

PS:只是个简单的栗子,代码方面有些不严谨的地方,多多包涵;

这一节先到这里吧,下一节会说说编程环境、几个c#的语言要素啥的;之后就是撸起袖子开始干啦。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,885评论 25 707
  • 转自http://blog.csdn.net/xugangwen/article/details/44811783...
    扎Zn了老Fe阅读 12,704评论 1 142
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,642评论 18 139
  • 在java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queu...
    骚的掉渣阅读 5,328评论 2 4
  • 亚里士多德说过:“人是被习惯所塑造的,优异的结果来自于良好的习惯,而非一时的冲动。” 三分钟热度也可能养成好习惯。...
    歪瞿瞿慧长阅读 130评论 0 0