你的位置:首页 > ASP.net教程

[ASP.net教程]深入C#数据类型


值类型和引用类型

常用的数据类型

整形 int
浮点型 foalt
双精度浮点型 double
字符串 string
布尔 bool
枚举 enum

值类型

      值类型继承与System.ValueType类,每个值类型的对象都有一个独立的内存区域用于保存自己的值,值类型数据所在的内存区域称为栈(Stack)。只要在代码中修改它,就会在它的内存区域内保存这个值。

引用类型

     引用类型继承与System.Object类,在C#中引用类型主要包括数组、类和接口等。

细分值类型和引用类型

值类型:

基本数据类型:

整形 int
长整形 long
浮点型 foalt
双精度浮点型 double
字符型 char
布尔型 bool

枚举类型: enum

结构类型: struct

引用类型:

类:

基类 System.Object
字符串 string
自定义类 class

接口:interface

数组:int【】,string【】

结构

结构定义

访问修饰符 sturct 结构名{//结构体}

结构的特点:

                                •     机构中可以有字段也可以有方法

                      1.     定义时结构内的字段不能被赋初值
                      2. 结构的使用
                        1.    结构可以不用new 直接定义结构的对象即可
                        2.    声明结构的对象后必须给结构赋初值
                        3. demo:

public struct student {public int id/;IDpublic int age //年龄

public void sayhi() { Console.WriteLine("学号:"+id+"年龄:"+age) } } //结构定义
public static void Main(string[] args) { student stu; stu.id=1234; stu.age=18; stu.sayhi(); } //结构调用


值方式参数传递

值方式参数传递时,参数是值类型则在调用后值不变,是引用类型时值可变

引用方式参数传递

引用方式参数传递时,不管参数时值类型还是引用类型调用后值都可变

demo:

值方式传递值类型参数

public void addage(int age)     {      age++;    }static void Main(string[] args)    {      stu sb = new stu();      int num = 3;      Console.WriteLine(num);      sb.addage(num);      Console.WriteLine(num);    }

结果:

image

值方式传递引用类型参数

public class stu  {    public int age;    public void addage(stu student)     {      student.age++;    }  } public static void Main(string[] args)    {      stu sb = new stu();      sb.age= 3;      Console.WriteLine(sb.age);      sb.addage(sb);      Console.WriteLine(sb.age);    }

结果:

image

引用方式传递值类型参数

public void addage( ref int age)     {      age++;    }static void Main(string[] args)    {      stu sb = new stu();      int num = 3;      Console.WriteLine(num);      sb.addage(ref num);      Console.WriteLine(num);    }

结果:

image

引用方式传递引用类型参数

public class stu  {    public int age;    public void addage( ref stu student)     {      student.age++;    }  } public static void Main(string[] args)    {      stu sb = new stu();      sb.age= 3;      Console.WriteLine(sb.age);      sb.addage( ref sb);      Console.WriteLine(sb.age);    }

结果:

image




几月去英国旅游最便宜怎样去英国旅游7月英国旅游英国旅游多少钱一人英国游费用轻游沈城 搭班地铁边走边玩儿 异域风情延边州 个性玩法TOP5 2015“诗画苏州美丽乡村”慢游吴江活动华美收官 秋色浸染金陵城 南京五大赏秋圣地 珠海梦幻水城门票电话?梦幻水城定票? 珠海梦幻水城门票转让?梦幻水城门票预订网站? 珠海梦幻水城优惠门票在哪买?梦幻水城优惠票需要提前预约吗? 梦幻水城日场票团购优惠多少?珠海梦幻水城日场和夜场有什么区别? 从东莞长安车站到深圳欢乐谷路线如何走? 清远清泉湾好玩吗?门票是多少?怎么去清泉湾? 河源和平天上人间温泉度假村是几星级的呀? 从梅家大院到江门上川岛自驾游如何走呀? 2015深圳欢乐海岸圣诞节夜场活动门票预订价格?欢乐海岸圣诞夜场门票多少钱? 2015东部华侨城圣诞节夜场活动时间?深圳东部华侨城圣诞夜场几时开始? 2015东部华侨城圣诞节夜场活动门票预订价格?深圳东部华侨城圣诞夜场门票多少钱? 2015广州长隆大马戏圣诞节夜场活动时间?长隆大马戏圣诞夜场几时开始? LMH0346SQE/NOPB Datasheet LMH0346SQE/NOPB Datasheet LM4030AMF-4.096/NOPB Datasheet LM4030AMF-4.096/NOPB Datasheet LM4030AMFX-2.5/NOPB Datasheet LM4030AMFX-2.5/NOPB Datasheet 沈阳游记 沈阳游记 沈阳游记 广州旅游景点介绍 广州旅游景点介绍 广州旅游景点介绍 北京 泰国菜 北京 泰国菜 北京 泰国菜