1,C#-ASP.NET

C# 的概念

2,Intro
ASP.NET
一,基本概念:
1,C#--语言
microsoft 开发的纯面向对象的语言,是VS2005的主流开发语言。
语言的发展
C-->面向过程的高级语言
|
C++-->面向对象的语言,向下兼容C,带有面向过程的特点,混合语言,语法强大,难度大。
|
JAVA-->纯面向对象,从C++演变而来,去除了C++中难的知识点,如:指针,多继承,运算符重载等等,又称之为C++--,相对C++简单。
|
C# -->纯面向对象,java演变过来,修正了java中的一些问题,引入了最新的理论成果。比java晚10年,例如,对xml的支持是先天的,
|
未来
2,Microsoft Visual Studio 2005--开发平台,解决方案,不能简单称之为软件。
特点:
1)跨语言,多语言支持
vc++.net J# javascript vb.net C#
深层次上的支持,用vb做的类,在c#工程中可以直接使用(继承)。
但是 主流语言--- C#
2)只能在window下使用。
3) 做什么开发?
---C/S client/server 客户端/服务器 例如QQ,例如二期的窗口项目。
特点:每个客户端都需要安装。维护不方便。效果好
--主要使用 C# C++
---B/S brower/server 浏览器/服务器 例子:网银,邮箱,网站。
特点:客户之需要有浏览器就可以,一切资源在唯一的服务器上。维护成本低。效果差
--主要使用 JAVA C# PHP
--我们,B/S
---Mobil 移动设备开发
---嵌入式开发
4) 不开源
二,C#2.0数据类型
1,所有C#的数据类型均为类,纯面向对象。
例如:int -- java,c语言中是基本数据类型,C#是类System.Int32的别名
int a;//定义类一个a对象
short -- System.Int16
long -- System.Int64
bool -- System.Boolean
string-- System.String
2,数据类型的分类
按数据在内存中的位置分为两种:
堆--容量大,速度慢,垃圾
栈--容量小,速度快,先进后出,后进先出。没有垃圾
1)值类型---数据存放在栈中
原始类型:int short long bool char
复杂类型:结构 枚举
2)引用型---数据存放在堆中
原始类型:string object
复杂类型:类,接口,数组,委托
案例1,数值型与引用型数据的区别。
注意:Person p1=new Person("张三");
会同时在堆与栈中分配空间:对象空间("张三")在堆中,p1(引用)在栈中。
重点:学会描述内存垃圾的生成,及垃圾空间(只有堆中有)的回收。
3,结构体与类的区分(案例2)
--结构体--值类型
--类 --引用类型
4,装箱与拆箱
装箱-- 将值类型赋给引用类型
int a=45;
object o=a;//装箱,数据45从栈空间copy到堆空间
拆箱-- 将引用类型赋给值类型
object o=new object(45);
int j=(int)o;//拆箱,数据45从堆空间copy到栈空间
案例3
5,字符串问题:
string s1="abcd";
注意问题:string是引用类型,但是与其他引用类型不同,因为"abcd" 是常量,保存在栈尾的一个特殊区域。
s1="xyz";//系统重新为“xyz”分配空间,将s1指向“xyz”的空间,而不会修改“abcd”为“xyzd”
此外
string s1="abcd";
string s2="abcd";
问:系统会分配 1 个"abcd"空间,因为"abcd"是常量,只要分配空间,就始终使用。
此外:
string s1="xyz10万";
s1=s1+"a";//会占用两块空间,一块放置 "xyz10万",一块放置"xyz10万a",然后将"xyz10万a"赋给s1,然后释放"xyz10万"空间,会有峰值内存占用过大的风险。
6,数组 案例4
1)一维数组
int []a=new int[]{1,2,5,88};
2)定长二维数组
int[,] b = new int[3, 2] { {1,2 }, {5,8 }, {222,888 } };
3)可变长二维数组
int[][] c = new int[3][];
c[0] = new int[] { 2,5};
c[1] = new int[] {100,200,300,400,500 };
c[2] = new int[] { 3,6,9};
三,字符串操作
四,面向对象---封装,抽象,继承,多态
1,命名规则
匈牙利法 -- C++
float f_price;
骆驼法命名-- java C#
名字使用多个单词,每个单词的首字母大写,但是第一个字母另有用处。
具体:
命名空间名称(包名),类名,方法名,属性名 --骆驼,首字母大写,抬头骆驼
class ShouJiLei
局部变量,形参,域名 --骆驼,首字母小写,低头骆驼
string zhangSanDeShouJiPinPai;
常量 --全部大写,不是骆驼
double PI=3.1415926;
关键字 --全部小写 for int
2,抽象 -- 不是指抽象方法,抽象类
将具体的对象,归纳,总结,提取其共有的特性(静态特性+动态特性),形成一般化的规则,抽象。
实体--------->类
抽象
对象--- 世间万物均为对象,
类 --- 规则
类包含--》静态+动态
属性+方法
class 手机类
{
//静态
string 颜色;
int 重量;
int 长;
string 号码
//动态
打电话
发短信
}
3,封装。
将类中的所有字段私有化,private,私有化后的字段不能在类外使用。
目的:保护类中的技术细节
正常的对私有字段的访问,可以通过方法或公共属性来完成。当然在方法或属性可以进行验证。
4,重点:公有属性的构建---java的getter/setter
int id;//字段,域,私有,只能在本类使用
//公有属性 ,可以在类外使用
public int Id
{
get{return id;}
set{id=value;}
}
 

Mar 24,2010 每天笑一笑没有什么大不了的 谢谢你妹妹~ by luxin&mengling

作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

C# 的概念的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    一.前言     DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...

  2. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  3. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  4. 声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS

    需要做个音频的PPM表,看着一堆的音频术语真是懵了,苦苦在网上扒了几天的文档,终于有了点收获,下面关于声音的分贝做个总结. 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic u ...

  5. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  6. 【Linux大系】Linux的概念与体系

    感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei 我在这一系列文章中阐述Linux的基 本概念.Linux操作系统继承自UNIX.一个操作系统是一套控制和使用计算 ...

  7. KOTLIN开发语言文档(官方文档) -- 2.基本概念

    网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2.   基本概念 2.1.  基本类型 从可以在任何变量处理调用成员函数和属性 ...

  8. .NET面试题系列[5] - 垃圾回收:概念与策略

    面试出现频率:经常出现,但通常不会问的十分深入.通常来说,看完我这篇文章就足够应付面试了.面试时主要考察垃圾回收的基本概念,标记-压缩算法,以及对于微软的垃圾回收模板的理解.知道什么时候需要继承IDi ...

  9. 《徐徐道来话Java》(1):泛型的基本概念

    泛型是一种编程范式(Programming Paradigm),是为了效率和重用性产生的.由Alexander Stepanov(C++标准库主要设计师)和David Musser(伦斯勒理工学院CS ...

  10. 简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型

    1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分 ...

随机推荐

  1. 最好用的远程连接工具TeamviWer13安装教程(Win10环境)

    1.Teamviwer官网:https://www.teamviewer.com/zhCN/ 2.下载链接:https://dl.tvcdn.de/download/TeamViewer_Setup. ...

  2. day02_03.五个数字一行输出

    第3题 5个数字一行输出 每当你做一道题目时,记住要明确你的目的是什么 你的代码执行出来会是一个什么效果 然后根据你想要的这个效果去编辑代码 题目:输出1~100(不包含100)之间的偶数,5个数字一 ...

  3. yum 快速安装 Rabbitmq for CentOS6

    1.安装CENTOS6的系统. 2.配置源 ,说明:https://github.com/rabbitmq/erlang-rpm To use Erlang 20.x on CentOS 6: # I ...

  4. col-md-push-*和col-md-offset的区别

    实现方式的区别:col-md-offset-*,是利用margin-left实现的,col-md-push-*/col-md-pull-*是利用相对定位实现的. 效果的区别,col-md-offset ...

  5. 习题:Wormhole(思路题)

    tyvj1763 描述 一维的世界就是一个数轴.这个世界的狭小我们几乎无法想象.在这个数轴上,有N个点.从左到右依次标记为点1到N.第i个点的坐标为Xi.经过漫长时间的物理变化和化学变化,这个一维世界 ...

  6. BZOJ3772 精神污染 【主席树 + dfs序】

    题目 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区,是日本西部门户,海 ...

  7. js 和 jquery的宽高

    window 和 document : window 对象表示浏览器打开的窗口,可以省略 document对象(浏览器的html文档)是window对象的一部分 document.body等于wind ...

  8. iOS - 毛玻璃效果封装

    #import <UIKit/UIKit.h> #import <Accelerate/Accelerate.h> @interface UIImage (TY_ImageEd ...

  9. CODEVS【3556】科技庄园

    题目描述 Description Life是codevs的用户,他是一个道德极高的用户,他积极贯彻党的十八大精神,积极走可持续发展道路,在他的不屑努力下STN终于决定让他在一片闲杂地里种桃,以亲身实践 ...

  10. 如何在win2003下安装sql2008[多次安装sql2008失败者必看]

    原文发布时间为:2010-11-02 -- 来源于本人的百度文章 [由搬家工具导入] 如何在win2003下安装sql2008[多次安装sql2008失败者必看] 1. 安装win2003,升级全部补 ...