c#语言基础
来源:互联网 发布:网络播放器排行 编辑:程序博客网 时间:2024/04/29 22:01
这段时间一直再看Asp.net的相关视频,通过天轰穿的视频,还有北大青鸟的视频,感受到了.net平台的功能强大,而.net平台的主打语言就是C#,这里先简单总结一下,C#语言的相关知识,再总结Asp.net平台上的各种知识。
先看一下我总结的总体思路:
下边我从这个四个方面简单总结:
一,基础知识:这是很多语言都有的,可以通过比较的方式来学习,例如与VB的比较,因为任何一门语言都有这些东西,他们的相同点很多,但也有细微的差别:
这是比较多大的一节,虽然基础,但是感觉还是总结一下,方便一下查看:
1,数据类型:
(1),值类型:
整数类型
数据类型
说明
取值范围
对应于System程序集中的结构
sbyte
有符号8位整数
-128-127
SByte
byte
无符号8位整数
0-255
Byte
short
有符号16位整数
-32768-32767
Int16
ushort
无符号16位整数
0-65535
UInt16
Int
有符号32位整数
-2147489648-2147483647
Int32
uint
无符号32位整数
0-42994967295
UInt32
long
有符号64位整数
-263-263
Int64
ulong
无符号64位整数
0-264
UInt64
字符类型
C#中采用Unicode字符集来表示字符类型。
实数类型
数据类型
说明
取值范围
float
32位单精度实数
1.5*10-45-3.4*1038
double
64位双精度实数
5.0*10-324-1.7*10308
demcimal
128位十进制实数
1.0*10-28-7.9*1028
布尔(bool)类型
取值只能是ture或者false,bool类型对应于.NET类库中的System.Boolean结构。它在计算机中占4个字节,即32位存储空间。
结构类型
把一系列相关的信息组织成为一个单一实体的过程,这就是创建一个结构的过程。
structperson
{
string m_name; //姓名
int m_age; //年龄
string m_sex; //性别
}
枚举类型
主要用于表示一个逻辑相关联的项和组合。使用关键字enum来定义。
enumWeekday
{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
(2),引用类型:
Object类型::其他类型都是直接或者间接从Object继承的,可以将任何类型的值赋给Object类型的变量。
String类型:表示Unicode字符的字符串。其内容是不可变的。
例子:
string a ="hello";
string c="h";
c=c+"ello";
console.writeline(a==c);
console.writeline((object)a==(object)c);
这是的返回值为True和 False,这就是说起内容相同,但是引用的字符串实例不同。
类(class)
类是一组具有相同数据结构和相同操作的对象集合。类和结构之间的根本区别在于:结构是值类型,而类是引用类型。对于值类型,每个变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块区域;而对于引用类型,每个变量只存储对目标存储数据的引用,每创建一个变量,就增加一个指向目标数据的指针。
接口(interface)
应用程序之间要相互调用,就必须事先达成一个协议,被调用的一方在协议中对自己所能提供的服务进行描述。在C#中,这个协议就是接口。接口定义中对方法的声明,既不包括访问限制修饰符,也不包括方法的执行代码。如果某个类继承了一个接口,那么它就要实现该接口所定义的服务。也就是实现接口中的方法。
委托(delegate)
委托用语封装某个方法的调用过程。
委托的使用过程分为3步:
1.定义 delegate void HelloDelegate();
2.实例化HelloDelegate hd = new HelloDelegate(p1.Say); //p1.Say调用的方法
3.调用 hd();
2,数据类型转换:
3,运算符:
(1),赋值运算符:
(2),比较运算符:
(3),运算符优先级:
(4),运算符汇总:
二,语句控制汇总:这是将上边基础知识串联起来的关键:
三,数组与集合:
下边把两个例子补上:
第一个数组的例子:
- <span style="font-family:SimSun;font-size:18px;">class Program {
- static void Main(string[] args)
- {
- //声明一个三维数组
- int[, ,] arr3;
- //初始化该三维数组
- arr3 = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } };
- //使用Foreach语句遍历数组并输出
- foreach (int i in arr3)
- {
- Console.WriteLine(i);
- }
- }
- }
- </span>
第二个集合的例子:
- <span style="font-family:SimSun;font-size:18px;">class Program
- {
- static void Main(string[] args)
- {
- //实例化一个ArrayList对象
- ArrayList arrlist = new ArrayList();
- //使用Add方法向ArrayList中添加元素,将元素添加到ArrayList对象的末尾
- arrlist.Add("苹果");
- arrlist.Add("香蕉");
- arrlist.Add("葡萄");
- foreach (int n in new int[3] { 0, 1, 2 })
- {
- arrlist.Add(n);
- }
- //移除值为0的第一个元素
- arrlist.Remove(0);
- //移除当前索引为3的元素,即第4个元素
- arrlist.RemoveAt (3);
- //在指定索引处添加一个元素
- arrlist.Insert(1, "apple");
- //遍历Arrlist,并输出所有元素
- for(int i =0;i<arrlist .Count ;i++)
- {
- Console.WriteLine(arrlist[i].ToString());
- }
- }
- }
- </span>
对应输入信息:
四,C#面向对象编程,我把我以前写过的两篇博客放在这里,通过一个有趣的例子很好的把编程里边的概念进行了学习。
C# VS面向对象编程(一) C# VS面向对象编程(二)
- C#语言基础
- C#语言 基础
- c# 语言基础概念
- C#语言基础
- C#语言基础理解
- C#语言基础理解
- C#语言基础心得
- C#语言基础
- C#语言基础
- c#之语言基础
- c#语言基础
- c#语言基础
- C#语言基础
- C#基础语言
- C#语言基础-1
- c#语言基础
- C#语言基础回忆
- c#语言基础
- 测试问题test1
- Boost解析json格式文本
- IntelliJ IDEA开发快捷键(IDEA tool Keyboard shutcuts)
- Java Socket超时浅析
- 学习笔记——Services
- c#语言基础
- 我的第一篇CSDN博客
- 一文读懂机器学习,大数据/自然语言处理/算法全有了……
- TCP穿透主流商用NAT产品的主要技术研究
- C++第三章
- 微信注册AppID失败
- ArcGIS Server 10.1初始化网站失败
- CTK(Champollion-1.2)----A Sentence Alignment Toll
- 谈谈UDX对多IP的支持