c # 学习笔记(一)

1.数据类型概述

与c/c++不同的是 整数类型多出了sbyte 和 byte 两种类型 当人大小也非常小占8子节

1.整数类型

sbyte x = 1; //-128~127
byte y = 1; //0~255
short z = 1;  //-32768~32767
ushort a = 1;  //0~65535
int b = 1;  //-2147483648~2147483647
uint c = 1;  //0~4294967295
long d = 1;  //-9223372036854775808~9223372036854775807
ulong e = 1;  //0~18446744073709551615

2.实数类型

与c/c++不同的是多出了 decimal 类型,为了满足高精度的财务和金融计算而引入的,占128子节。

float x = 1;   //3.4E+10的负38次方~3.4E+10的38次方
double y = 1;   //1.7E+10的负308次方~1.7E+10的正308次方
decimal z = 1;   //1.0×10的负28次方~7.9×10的28次方

3.字符类型

char x = 'a';  //0~65535

4.布尔类型

bool x = false;  //true  false

5.结构类型

注意的是c++与c#不同点
c++的struct 内默认类型是public
而c#的默认类型则是private
所以如果想直接赋值 需要在变量名前加public

public struct  wazxy
{
    public int x, y;
}

6.枚举类型

我认为没啥用

2.类型转换

由于c#输入进去的类型为string类型,所以如果想读入其他类型,需要调用函数进行转换
推荐Convert类
如:在这里插入图片描述
当然在整数和实数之间可以进行强制转换。

3.运算符与表达式

以下五个均与c++没有什么不一样
1.算术运算符与算术表达式
2.关系运算符与关系表达式
3.赋值运算符与赋值表达式
4.逻辑运算符与逻辑表达式
5.位运算符

不同

typeof运算符作用: 显示类型
new运算符作用: 用来创建对象和调用构造函数

4.数组的声明

类,接口,委托这些东西放到后面几章说
数组的声明有点类似与java,特别要注意一下

1.一维数组

1.声明了数组之后,就必须为数组分配内存,以保存数组的所有元素。数组是引用类型,所以必须给它分配堆上的内存。为此,应使用new运算符,指定数组中元素的类型和数量来初始化数组的变量。

int[] a = new int[10];

赋初值:

int[] a = new int[10]{1,2,3,4,5,6,7,8,9,10};
//或者
int[] a = {1, 2, 3};

2.二维数组

注意在代码中调用某个值的时候是
a[i,j] 一个方括号中用","隔开

int[,] b = new int[2,2];
b[0, 0] = 0;
b[0, 1] = 1;
b[1, 0] = 2;
b[1, 1] = 3;

//第二种
int[][] a = new int[2][];
a[0] = new int[] { 1,2 };
a[1] = new int[] { 1,2,3 };

//第三种
int[,] arr1 = new int[2,2] { {12,0 },{ 2,3 } };
int[,] arr2 = new int[,] { { 12, 0 }, { 2, 3 } };
int[,] arr3 = { {12,9},{ 2,3} };

当然出了这些还有很多数组的常用操作,例如sort之类的函数,这里就不一一列举了。

5.集合

当然c#中也有很多已经封装好的数据结构,例如:

1.ArrayList(动态数组)

1.创建
ArrayList list =new ArrayList();
2.Add (尾端追加)
list.Add("a");
3.Remove (移除元素)
list.Remove("a");
4.Insert (插入元素)
list.Insert(3,25);
......

2.Queue(队列)

Queue q=new Queue();
1.入队
q.Enqueue(1);
2.出队
q.Dequeue();
3.清空
q.Clear();

3.Stack(栈)

Stack ss=new Stack();
1.入栈
ss.Push(1);
2.出栈
ss.Pop();
3.清空
ss.Clear();

6.杂七杂八

1.object类型

接触了object类型
Object 数据类型可以指向任意数据类型的数据,包括您的应用程序识别的任意对象实例。当您在编译时不知道变量可能指向哪种数据类型时,请使用 Object。
感觉类似于C++11里面的auto类型。

当然查了一下 貌似c#中还有 var关键字

var可以理解为匿名类型,我们可以认为它是一个声明变量的占位符。
它主要用于在声明变量时,无法确定数据类型时使用。

使用var定义变量时有以下四个特点:

  1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”;
  2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
  3. var要求是局部变量。
  4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

2.其他的系统函数

类似于数字类System.Math和System.DateTime等库函数
懒得写了,毕竟一看就会(有手就行)(其实是太懒了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值