深入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);
        }

结果:

值方式传递引用类型参数

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);
        }

结果:

引用方式传递值类型参数

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);
        }

结果:

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

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);
        }

结果:

时间: 2024-10-26 16:18:40

深入C#数据类型的相关文章

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL A

JavaScript数据类型检测

一.JavaScript 数据类型 1.基本数据类型(6种) Undefined Null Boolean Number String Symbol (ES6新增) 2.引用数据类型: Object 二.数据类型检测 1. typeof 可以检测除null 外的基本类型.null 和所有对象的typeof都是"object", 不能用于检测用户自定义类型. 比如Date, RegExp, Array, DOM Element的类型都是"object". var s

【个人笔记】《知了堂》MySQL中的数据类型

MySQL中的数据类型 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediumint(m) 3个字节  范围(-8388608~8388607) int(m) 4个字节  范围(-2147483648~2147483647) bigint(m) 8个字节  范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint un

英文词频统计预备 组合数据类型练习

1.实例: 下载一首英文的歌词或文章,将所有,.?!等替换为空格,将所有大写转换为小写,统计某几个单词出现的次数,分隔出一个一个的单词. big='''OoohOooh Put your make-up onGet your nails doneCurl your hairRun the extra mileKeep it slim so they like you, do they like you? Get your sexy onDon't be shy, girlTake it offT

Java基础——数据类型

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 一.数据类型(八种): 1.计算机的存储进位:位是最小的存储数据单位,以此类推,如图: 2.在java里我们可以使用 0b或者0x表示二进制和十六进 如:0xABC或0b01010001: 3.在java里面数据存储中高位是1 就是负数,高位是0 就是正数: 4.Java数据类型详解: 整数数值:int short:小于32767 byte:小于127 小数

python数据类型详解

主要内容: 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 列表与元组 定义列表 1 list = ['a' , 'b', 'c', 'd'] 通过下标访问列表中的元素,下标从0开始计数 1 list[0] # 'a' 2 list[1] # 'b' 3 list[-1] # 'd' 4 list[-2] # 'c' 基本操作: 切片:取多个元素 1 list = ["A","B","C","D",&

MongoDB的数据类型(四)

JSON JSON是一种简单的数据表示方式,它易于理解.易于解析.易于记忆.但从另一方面来说,因为只有null.布尔.数字.字符串.数组和对象这几种数据类型,所以JSON有一定局限性.例如,JSON没有日期类型,JSON只有一种数字类型,无法区分浮点数和整数,更别说区分32为和64位数字了.再者,JSON无法表示其他一些通用类型,如正则表达式或函数. BSON BSON(Binary Serialized Document Format)是一种类JSON的二进制形式的存储格式,简称Binary

myasql支持的数据类型以及函数转换

myasql支持的数据类型 1.数值类型 tinyint 1 小整数 smallint 2 大整数 mediumint 3 大整数 int 4 大整数 bigint 8 极大整数 如果插入 的较大较小 会自动改编为范围值 多余的数截取 float 4 double 8 decimal 默认是10 可以指定多少个整数和小数 2.字符串类型 char 0-255字节 定长字符串 varchar 0-255字节 变长字符串 tinyblob 0-255字节 不超过255个字符的二进制字符 tintex

C# 《三》变量、常量与数据类型(1)

变量操作 在计算机中存储数据和儿童在抽屉中存放物品很类似. 1.计算机存储变量的过程: 1)声明变量: 2)给变量赋值: 3)使用变量. 声量的声明.赋值 1.要在计算机中存一个数字 50,需要两句话. int a; //将要放的物品告诉家长(声明变量) a = 50; //将物品放到某个抽屉中 (赋值) 2.声明变量的语法格式: 1)数据类型   变量名: 3.赋值:  变量名  = 值: 4.可以  a = 3.14 :吗??? 5.数据有整数(int).小数(double).字符串(str

Python 03-pyc、数据类型

pyc是什么? 在Python3中才有的. Java是先编译再解释.Python也是基于虚拟机的语言. 执行Python时,会先编译,编译的结果保存在位于内存中的PyCodeObject中,运行时解释器将PyCodeObject写回到pyc文件,它是预编译后的二进制的字节码文件. 第二次运行时,会先找pyc文件.所以pyc文件其实是PyCodeObject的一种持久化保存方式. 第二次运行时,会先检查下时间,看下有没有过修改,如果有修改会再编译一次. 数据类型 type()查看数据类型 1.in