C # 入门

今天刚刚学C#,之前有上课,可是老师上课的时候我们都没有书,所以都不会。

现在老师都上到后面的窗体程序了,但是C#的基础我都不会,无奈之下只好自己来学习啦

 

学每一门语言都是从它最基本的语句来学起的。
C# 的基本数据类型有很多啦,我们需要注意的是,bool型和string 已经从默默无闻的小喽啰升级到基本数据类型之列了 ,还有就是,int 型变量的大小是 4 个字节(原来C是2个)

基本数据类型没有什么太多要了解的,知道这样就够了。

数组 的定义 和之前的稍稍有点变化:

static void Main()

   int[]    a= {2,5,6,5,7}

  a[1];

 }

其中,中括号表示,定义一个数组。

数组介绍完了 就开始要介绍 方法。 方法其实也就是函数。

double area(double r)

{

  return r*r*3.14;

}

然后就轮到三种控制结构:顺序,选择,循环

选择:if....  ,if..... else.... ,if......if else .....if eles

循环:while  ...... ,do ....while... , for

语法和之前都是一样的,所以也就不需要再说明一些什么  

 

接下来就到类和对象

 

在C#中,类和main 函数是分开两个文件的,所以要创建类就要在旁边的解决方案资源管理器的项目右键
然后找到生成——类 ,系统会弹出一个对话框。(快捷键是: shift +alt + c)

定义类的语法是:

访问修饰符  class 类名

{

  字段  

  方法

  属性

  索引器

}

字段:其实也就是变量

方法: 函数

(tip:选中多个列 用 Alt+ 鼠标)

一般来说,我们写一个类的变量会用private 来实现数据的封装
但是封装也要有访问的方式,所以在C#里面用属性来实现对数据的封装

属性可以手动写,也可以自动生成
它还分有 叫 自实现属性 和只读属性的类别

说白了,属性就是 实现 如何在外部修改private 变量的值,属性也就是一个函数(一个方法)

属性的定义   有get 和 set

 public string Name
      {
          get { return name;}
          set { name = value;}
      }

自动生成的方法就是选中 private属性,然后右键 重构——封装字段 (ctrl + R + E)

自实现属性其实也就是 不写private ,直接写

public string Name {set;get;}

(注意:没有=号)

 

 

 

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

namespace Console_class
{
    //快捷键 添加类   shift + alt + C
    /*
     * 类的成员包括:
     * 字段    ,字段也就是 变量
     * 方法    ,也就是函数
     * 属性    ,其实就是封装字段的方法,其中有,自动实现以及只读属性的方式
     * 索引器 
     *
     *
     * 例子:学生类
     * 方法: 学习,休息,自我介绍
     * 字段:姓名,学号,出生日期,性别
     */

    //快捷键 选择列  alt + 鼠标点击
    class student
    {
        //手动写属性
      private string name;
      public string Name
      {
          get { return name;}
          set { name = value;}
      }


        //快捷键生成属性 ctrl + R + E
      private string id;

      public string Id
     {  
      get { return id; }
      set { id = value; }
     }
      private DateTime dateOfBirth;

     public DateTime DateOfBirth
    {
      get { return dateOfBirth; }
      set { dateOfBirth = value; }
    }

     //自实现属性 没有等号!
   //  public char Sex = {get ; set ;}
       public char Sex {get; set;}

 

    //只读属性 public
     public int Age
      {
          get { return DateTime.Now.Year - dateOfBirth.Year; }
      }

        public void study()
        {
            Console.WriteLine("我正在学习");
        }

        public void rest()
        {
            Console.WriteLine("我正在休息");
        }

        public void introduce()
        {
            Console.WriteLine("大家好,我叫做{0},我是一个{1}生,我出生日期是{2}",name,Sex,dateOfBirth);
        }
    }
}

 

索引器 是一个使用别的变量来访问其意义的值 的一个方法,相当于设置别名

例如:你想用字符串"数学" 来访问math,"英语"来访问english

 public 返回值类型 this[别名的类型 名称]

 public double this[string name]
        {
            get
            {
                if (name == "数学")
                    return math;
                else if (name == "英语")
                    return english;
                return -1;
            }
            set
            {
                if (name == "数学")
                    math = value;
                else if (name == "英语")
                    english = value;
            }

        }

 

继承、重构、重写 的概念都是C++的,所以,也没有太大必要去理会

下面到接口,接口就相当于一个头文件,它里面的属性和方法都是public属性的
并且,在接口中并不具体实现各个模块
接口也要新建一个文件,我们在项目右键中添加-接口(快捷键 shift + alt +c)

我们把类继承接口的方式叫做  类实现接口

类的接口的定义用:

pulic Interface 接口名

{

  属性 {get;set}

  方法 ();

}

 

public class beauty : 接口名

{

  public 属性

     方法()

  {

  }

}

 

 

具体的C# 的基础语法就是那么多

 

下面介绍一些C#特有的一些东西

1.异常处理

try ... ... catch

2.   .NET框架

.net框架其实就是能让我们站在巨人的肩膀上编程的一个类库
它包含了

集合类、IO操作类库、windows用户界面类库、ADO.NET类库
LINQ类库、多线程相关类库、以及asp.net WEB空间类库

3.  .net几乎支持所有语言的编译的原因—— 公共语言规范CLS 和中间语言MSIL

 (跨平台性)

 4.  垃圾回收器  —— 再也不用担心内存泄露啦

 

posted @ 2012-03-18 19:00  喜欢阿亮的小水  阅读(279)  评论(0编辑  收藏  举报