C#基础-变量

来源:互联网 发布:大数据分析师培训学费 编辑:程序博客网 时间:2024/06/05 20:17

变量要使用  就必须要先被初始化,否则---错误


实例化(初始化)变量

--直接赋值

--使用 new 关键字


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 变量{    //下面 申明一个类,  用于变量初始化的示例    class yk    {                public int age = 27;//在类中  申明并实例化一个字段    }    class Program    {        static void Main(string[] args)        {            #region 隐藏代码            int i = new int();//申明并实例化一个字段            yk y = new yk();//申明并实例化 一个yk类的对象 y            Console.WriteLine("Hello C#");            //下面 y.age 表示使用变量 y 的age这个字段            Console.WriteLine("i is {0}, y.age is {1}",i, y.age);            Console.ReadLine();             #endregion        }    }}


如果不知道用什么类型却非要申明变量,怎么办?

var 关键字来申明变量:

--var 本身不是类型,如果非要说它是类型,那就是匿名类型,所以我们可以认为它是一个申明变量的占位符。

  这主要用于在申明变量的时候无法确定数据类型的情况。


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace var{    class Program    {        static void Main(string[] args)        {            //申明并初始化 三个变量            var name = "yk";            var age = 27;            var sex = true;            //分别获取三个变量的数据类型            Type t_name = name.GetType();            Type t_age = age.GetType();            Type t_sex = sex.GetType();            Console.WriteLine("变量 name 类型是 {0}, 变量 age 类型是 {1}, 变量 sex 类型是 {2}",                                t_name.ToString(),t_age.ToString(),t_sex.ToString());            Console.ReadLine();        }    }}


变量有它自己的作用范围,称之为作用域。超出它的作用域,就无效了。

变量的上层大括号就是它的有效范围。


作用域有以下规则:
--只要 类 在某个 作用域内,其字段(也称之为 成员变量) 也在该作用域内。
--局部变量存在于表示申明该变量的 块语句 或 方法 结束的封闭花括号之前的作用域内。
--在for while 或类似语句中声明的局部变量,存在与该循环体内。
--类级变量会被编译器当作字段,所以不会与类中的下级变量发生冲突


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 作用域{    class Program    {        static int j = 10;//申明为当前的一个静态字段        int i = 5;//类的一个字段,不会与下面的冲突        void test1()//动态方法        {            //Console.WriteLine(j);//错误  因为变量类型不一样            Console.WriteLine(1);        }        static void Main(string[] args)        {            Console.WriteLine(j);            //Console.WriteLine(i);//错误  因为变量类型不一样            Console.ReadLine();        }    }}

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 作用域{    class Program    {        static int j = 10;//申明为当前的一个静态字段        int i = 5;//类的一个字段,不会与下面的冲突        void test1()//动态方法        {            //Console.WriteLine(j);//错误  因为变量类型不一样            Console.WriteLine(1);        }        static void Main(string[] args)        {            for (int i = 0; i < 10; i++)            {                int j = 30;//申明 一个变量 j                Console.WriteLine(j + i);            }            //下面这个循环中  j 和上面的 j 作用域   不重复            for (int i = 0; i < 10; i++)            {                int j = 20;//再申明 一个变量 j                Console.WriteLine(j + i);            }            Console.ReadLine();        }    }}




0 0
原创粉丝点击