C#类型与变量

C#入门笔记

8.28开始看刘铁猛的视频,到9.22看完。大概以为本身入门了,对OOP也有必定了解了,稍微写点笔记,当复习了。面试

类型与变量

数据类型

数据类型[1]是数据在内存中存储时的“型号”。不一样的数据类型有不一样的“大小”——在内存中占用的空间,想知道某个数据类型在内存中占的大小,能够用函数sizeof去查看。C#是强类型语言,某个变量一旦被定义,若是不通过强制类型转换,它的类型永远不会改变。下面用一段代码证实:c#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SomeNotes
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 100;
            double b = 200;
            string c = "Jay";
            Console.WriteLine(a.GetType());
            Console.WriteLine(b.GetType());
            Console.WriteLine(c.GetType());
        }
    }
}

结果为: System.Int32
System.Double
System.String数组

下面试着进行强制类型转换:ide

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SomeNotes
{
    class Program
    {
        static void Main(string[] args)
        {
            double a = 12.34;
            int b = (int)a;
            decimal c = (decimal)a;
            Console.WriteLine(b);
            Console.WriteLine(c);
        }
    }
}

这个例子里面double类型的 a 被强制转换成了int类型,而后再把值传给 b ,输出结果为12,小数点后的数字丢失。
各个类型的精度范围不同,若是用精度更精细的数据类型转换成精度不高的数据类型,是必定会发生数据丢失的。可是精度低的数据类型转换为精度高的数据类型则没有影响。
好比double类型的 a 被强制类型转换成了decimal类型,而后再把值传给 c ,输出结果为12.34,彻底没有影响。
在C#中,有五大数据类型:类(class)、结构体(structure)、枚举(enumeration)、接口(interface)、委托(delegate)。其中类、接口、委托是引用类型(reference type),结构体和枚举是值类型(value type)。函数

变量

其实刚刚的两个例子当中就出现变量了,就是 a、b、c。变量实际上表示了存储位置,而且每一个变量都有一个类型,以决定什么样的值可以存入变量。变量一共有7种:静态变量、实例变量、数组元素、值参数、引用参数、输出参数、局部变量。其实狭义上的变量指的就是局部变量,由于其余种类的变量都有本身的约定的名称,简单的说,局部变量就是方法体(函数体)里面声明的变量。
* 值类型的变量没有实例,所谓的“实例”与变量合二为一
* 引用类型的变量里储存的数据是对象的内存地址大数据

在C#中变量有它的默认值,好比bool类型的默认值是falsedouble类型的默认值是 0.0d 等等,这些建议百度本身搜。
变量还有常量类型,指的是值不可被改变的变量。constreadonly的不一样之处在于,const在声明的时候就要赋值,readonly能够先声明,后续赋值;相同之处在于,二者一旦被赋值,就不可被更改。ui

摸了,有空再更新


  1. Data Type: A data type is a homogeneous collection of values, effectively presented, equippde with a set of operations which manipulate these values. ↩︎spa

相关文章
相关标签/搜索