C#入门基础(第二章)

 第二章  核心C#

2.1 第一个C#程序

在文本编辑器(如notepad)中输入下面代码,把它保存为后缀.cs 的文件。Main方法如下所示:

using System;
namespace Wrox
{
    public class MyFristClass
    {
        static void Main()
        {
            Console.WriteLine("hello word.");
            Console.ReadLine();
            return;
        }
    }
}

   编译代码会产生一个可执行first.exe  。在命令行或windows explorer 像运行任何可执行代码那样运行该文件,得到如下结果:

csc  first .cs

Microsoft(R)visual C# compiler version 4.0.30319.17379 for Microsoft(R).NET framework 4.5 copyright (c)Microsoft corporation.all rights reserved.

First .exe

hello word


(PS:今晚就更新到这里,加上第一章的,今晚更新的也不会少,大家好好看啊。。。。在这里,我要开始写无线网的相关技术了,欢迎收看啊。。透漏一下我的扣扣1605559078,加我时说看博客文章认识的不然我不清楚,哈哈)


2014/6/18


首先这里对C#语法做个简单的介绍。在C#中,与其他C风格的语言一样,大多数语句都以分号(;)结尾,语句可以写在多个多个代码上,不需要使用续行字符。用花括号{}把语句组合成块。单行注释用//,多行注释用/**/,另外C#区分大小写,变量myVar与MyVar不是一个变量。

每个C#可执行文件都有一个入口 --Main()方法  (M大写)


  public static void  Main()

     {

    }


在启动时,调用这个方法,该方法如果没有返回值(void),就返回一个整数(int)


在本例中有两个参数public  和static 。public修饰表示可以在任何地方访问该方法,static表示方法不能再类的实例上实行因此不能先实例化类在调用。

在本例中,我们只调用了system。console类的 writeline方法,把一行文本写在控制台上。writeline是静态方法,在使用之前不需要实例化console对象。


console。readline是读取用户输入。然后调用return方法,因为这是Main方法,所以就退出程序。


(PS:今晚给一哥们上传网站,老出错,所以东西更新的少一点,不过大家看了我的东西都知道,虽然更新的少,但是内容精辟,语言淬炼,哈哈)


2014/6/19


2.2 变量


在C#中声明变量使用下属语法:


datatype identifier 


例如 int i ;


该语句声明一个变量i,但编译器不允许在表达式中使用这个变量。除非用一个值初始化该变量。


i=10;

还可以这样  int i = 10;

如果在一条语句中声明和初始化多个变量,那么所有数据类型必须一致。

int x =10,y=20;// x  and y  are  both  ints

要声明不同的变量,需要使用单独的语句。

int x =10;

bool y = true ;


注意:上述文本中“//”的作用是注释,告诉编译器忽略后面的文本,这些注释是为了让人更好的理解程序,本身并不是程序的一部分。


2.3:变量初始化


变量初始化是C#强调的另一个例子。简单地说,C#编译器需要用某个初始值对变量进行初始化,之后才能操作使用该变量。大多数编译器把没有初始化变量的使用视为警告,但是C#编译器直接把他当成错误来看,这就防止我们无意中从其他程序中遗留下来的内存中获取垃圾值。

(1)变量是类或者结构的字段,如果没有显示的初始化,其默认是0.

(2)方法的局部变量必须的代码中现实的初始化,之后才能在语句中使用它们的值。


2.4: 类型推断


类型推断使用var关键字。

int   somenumber =10;

就变成:

var somenumber =10;

即使somenumber从来没有声明为int,编译器也可以根据somenumber的作用域确定是int。

using system;

     namespace A

   {

      class B

      {

       static  void Main()

         {

                      var name =" 张三 ";

              var  age    = 25;

               var sex    = true ;

          console .write( name.getType.Tostring() );

          consoe.write  (age.getType.Tostring());

          console .write(sex.getType.Tostring());

                     }

           }

}


输出如下:    system . string

                      system . int32

                      system . bool



注意:

                 变量必须初始化。

                 初始化器不能为空。

                 初始化器必须放在表达式中。

                 不能把初始化器设置为一个对象,除非在初始化器中创建一个新对象。



(PS:透漏一下我的写作思路啊,给读者一个交代,本章主要写C#的一下核心问题,后面章节有C#的对象类型 ,继承,泛型,内存,指针。。。我每天更新的不多,一是时间不多,二是我想读者打好基础,从最根本上理解学习编程。祝大家天天开心,学业有成啊。。)



2.5   变量的作用域


变量的作用域是可以访问该变量的代码区域。一般情况下有如下规则:


(1)只要类在某个作用域内,其字段也在作用域内。

(2)局部变量存在于表示声明该变量的块语句或方法结束的又花括号之前的作用域内。

(3)在  for   while 或类似的语句中声明的局部变量存在与该循环体内。

 

2.6  局部变量的作用域冲突


大型程序在不同的地方为不同的变量声明一样的变量名很常见。但是,同名的局部变量不能再同一作用域声明两次。

如果要使用类级变量可以使用语法object.filedname,在对象的外部引用类或结构的字段。


2.7 常量


常量有如下特点:

(1) 常量必须在声明时初始化,指定其值后,就不能再改写了。

(2)常量的值必须在编译时用于计算,因此,不能从一个常量中提取的值来初始化常量。

(3)常量总是静态的。不必(实际上不允许)在常量声明中包含修饰符static。


2.8    值类型与引用类型


·

理解数据类型分类:


值类型与引用类型。


从概念上看,其区别是值类型直接存储其值,而引用类型存储对值的引用。

值类型存储在堆栈中,而引用类型存储在托管堆上。


如果声明者两个变量只保留了一个引用,而不会实例化给定类型的变量,两种情况都不会真正的创建对象,要创建对象,就必须使用new关键字。































































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值