博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#编程(二)
阅读量:6758 次
发布时间:2019-06-26

本文共 1871 字,大约阅读时间需要 6 分钟。

C#中的变量

例如:int i;//声明一个int类型的变量,变量名是 i;在未为该变量进行赋值操作前,禁止使用该变量.使用(=)给变量赋值,在声明之后可以 i=10来赋值.也可以在声明一个变量的同时给它初始化例如:int i=10;也可以这样声明int x=10,y=20;这表示x和y都是int类型的变量.

声明不同的变量需要使用不同的语句,即没生命一个变量都需要用(;)来分割开来,例如:int i=0;int a=10;int b=20;

 

在声明一个变量的时候一定要对其进行初始化,因为这样做可以防止我们我一种从其他程序遗留下来的内存中获取垃圾值.

C#中有两个方法可以确保变量在使用之前进行了初始化:

1:变量是类或者结构中的字段,如没有进行显示初始化,创建这些变量的时候,默认值是0.

2.方法的局部变量必须在代码中显示的初始化,之后次啊能在与剧中使用它们的值.例如:

public static void Main()

{

int i;

Console.WriteLine(i);//在编译的时候会报错,原因是没有进行初始化或者赋值操作便使用该变量.

}

 

 

类型推断使用var关键字,声明变量的语法有些变化.编译器可以根据变量的初始化值来”判断”变量的类型.例如:

 var name = "zhangsan";

            var age = 24;

            var isRabbit = true;

            Type nameType = name.GetType();

            Type ageType = age.GetType();

            Type isRabbitType = isRabbit.GetType();

            Console.WriteLine(nameType.ToString());

            Console.WriteLine(ageType.ToString());

            Console.WriteLine(isRabbitType.ToString());

            Console.ReadKey();

程序的输出结果为:

System.String

System.Int32

System.Bool

在声明推断类型的变量的时候一定要初始化,否者编译器没有推断变量类型的依据.

声明了变量,推断出了类型后就不能改变变量的类型了.例如:var name=”zhangsan”;name=90;这是不对的.

 

变量的作用域:就是一个变量的有效范围.作用域是离变量最近的一对花括号就是该变量的作用域.在for,while或者类似语句中声明的局部变量存在于该循环体内.

另外同一个变量不能声明两次.下两两个例子帮助理解:

 for (int i = 0; i < 10; i++)

            {

                Console.WriteLine(i);

            }

            for (int i = 9; i >=  0; i--)

            {

                Console.WriteLine(i);

            }

可以这么做的原因为第一个i在第一个循环中有效,第二个i在第二个循环中有效,互不影响.

但是如果这样:

int j = 0;

for (int i = 0; i < 10; i++)

{

int j = 20;

     Console.WriteLine(j);

}

则会产生错误.原因为是第一个j的作用域包含了循环中的j,所以产生了相当于二次定义的错误.

namespace day1

{

    class Program

    {

        static int j = 10;//这是类级别的变量,相当于全局变量

        static void Main(string[] args)

        {

            int j = 20;//这是方法级别的变量.

            for (int i = 0; i < 10; i++)

            {                

                Console.WriteLine(j);

            }

            Console.ReadKey(); 

        }

    }

}

 

可以得出,一个变量在一个方法中不能声明两次;类级别的变量可以和方法级别的变量同名,但是在使用改变量的时候的时候遵循就近原则,通常是使用方法级别的变量.

如果想要使用类级别的变量可以用类名.变量名使用该变量

class Program

    {

        static int j = 10;

        static void Main(string[] args)

        {

            int j = 20;

 

            Console.WriteLine(j);//输出结果为20

            Console.WriteLine(Program.j);//输出结果为10,类级别的变量.

            Console.ReadKey();

        }

    }

 

转载地址:http://huweo.baihongyu.com/

你可能感兴趣的文章
【Atcoder】ARC 080 F - Prime Flip
查看>>
【CodeForces】671 C. Ultimate Weirdness of an Array
查看>>
Android Studio DDMS无法查看文件树问题
查看>>
QPS,用户平均等待时间,服务器平均请求处理时间
查看>>
uni-app · 支付宝小程序踩坑
查看>>
Wndows server 2008 R2 总是卡住 “Applying computer settings”
查看>>
序列化解决方案,就是采用二进制通信协议(数据报文格式)
查看>>
如何使用Spring优雅地处理REST异常
查看>>
原生JS上传图片(FormData,可预览,一次多图)
查看>>
讲讲Java溢出JVM爆炸的几种方式及自救方法
查看>>
[HAOI2015]T2
查看>>
bzoj 1293: [SCOI2009]生日礼物
查看>>
RadioButton+Fragment 实现导航栏碰到的一些常见问题
查看>>
sudo 出现unable to resolve host 解决方法
查看>>
「小程序JAVA实战」微信开发者工具helloworld(三)
查看>>
文档相关命令-cat命令查看一个文件
查看>>
Java的版本、特性以及开发工具
查看>>
版本控制报告:回答问题
查看>>
巴什博弈------最少取件数 不是1的情况下 hdu---2897
查看>>
因修改/etc/sudoers权限导致sudo和su不能使用的解决方法
查看>>