1.变量

1.1 第一个c#程序

  每本编程书基本上都是这样开始的,那就是Hello,world!。看过很多编程语言,发现c#是最简单的,当然了python也很简单,但是它的应用广泛性却不能和c#相比较。本博文以vc2010和vc2012为编译器。不多说,直接上代码。

  

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace _1.变量
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             Console.WriteLine("Hello sharp也疯狂!");
12             Console.ReadKey();
13         }
14     }
15 }

这个很简单,其中第12行是为了显示给操作者观看,否则会一闪而过。

1.2 变量的声明与初始化

在c#声明一个变量主要用以下语法:

datatype identifier;

比如:int i=10; int x=1, y=2;//这说明x与y都是int类型的。声明不同的类型,则需要如下:int x=12;bool y =true;

c#声明的变量需要初始化,这是c#安全性的体现,在c#中主要存在两种类型。

  1. 变量在类或者结构中的,如果没有人为的初始化,那么会默认0.
  2. 方法的局部变量必须显示的初始化,否则,在没有初始化之前就用到它的值,会发生错误!

值得一提的是,如果没有利用int  或者long 或者bool进行声明变量,而是用了关键字var声明,则系统可以自动判断,这就是类型推断。比如:int i=100;可以写成var i=100;下面的这段代码可以很显然的说明这个问题:    

View Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace _1.变量
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11 
12 
13             var name = "sharp也疯狂";
14             var a = 100;
15             var b = true;
16             var c = 'H';
17             Type nameType = name.GetType();
18             Type aType = a.GetType();
19             Type bType = b.GetType();
20             Type cType = c.GetType();
21             Console.WriteLine("name is type"+nameType.ToString());
22             Console.WriteLine("a is type" + aType.ToString());
23             Console.WriteLine("b is type" + bType.ToString());
24             Console.WriteLine("c is type" + cType.ToString());
25             Console.ReadKey();
26            
27     }
28 }

 

1.3 常量

  在声明和初始化变量时,在变量前加上关键字const,就可以指定常量。比如:const in a =100;常量具有以下特点:

  1. 常量必须在声明时初始化,指定之后,其值便不能更改。
  2. 常量的值必须能在编译时用于计算。(使用只读字段才能从一个变量的值中提取来初始化常量。)
  3. 常量总是静态的,但是不需要static关键字的修饰。

1.4 值类型与引用类型

  值类型存储在堆栈中,引用类型存储在托管堆中,值类型存储的是值,而引用类型存储的是对值的引用。下面这段代码可以很好的说明问题。

View Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace 值类型与引用类型
 6 
 7 {
 8     public class YinYong //定义一个引用类
 9     {
10 
11        public int Value;//定义一个公开的整数型的Value
12     
13     
14     
15     }
16 
17 
18     class Program
19     {
20         static void Main(string[] args)
21         {
22             YinYong yinyong1, yinyong2 ;
23             yinyong1  = new YinYong();
24             yinyong1.Value = 10;
25             yinyong2 = yinyong1;
26             int a = 10, b = 20;
27             Console.WriteLine("在这之前:");
28             Console.WriteLine("a是" + a);
29             Console.WriteLine("b是" + b);
30             Console.WriteLine("yinyong1.Value是" + yinyong1.Value);
31             Console.WriteLine("yinyong2.Value是" + yinyong2.Value);
32             b=30;
33             yinyong1.Value=30;
34             Console.WriteLine("把b和yinyong1.Value的值变成30之后:");
35             Console.WriteLine("a是" + a);
36             Console.WriteLine("b是" + b);
37             Console.WriteLine("yinyong1.Value" + yinyong1.Value);
38             Console.WriteLine("yinyong2.Value" + yinyong2.Value);
39             Console.ReadKey();
40         }
41     }
42 }

 

预定义的值类型有:整型和浮点类型,字符类型和布尔类型。预定义的引用类型有:object类和string类型。 

 

转载于:https://www.cnblogs.com/sharp-c/archive/2012/08/26/2657826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值