程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 深入C#數據類型

深入C#數據類型

編輯:C#入門知識

深入C#數據類型。本站提示廣大學習愛好者:(深入C#數據類型)文章只能為提供參考,不一定能成為您想要的結果。以下是深入C#數據類型正文


   C#常用的數據類型

   常用的數據類型    java C# 舉例

   整型  int    int 年齡

   浮點型float float   成績

   雙精度型 double  double    圓周率

   字符串String   string 家庭住址

   布爾型    boolean bool  是否為少數民族

   枚舉類型 enum    enum    顏色

值類型

值類型源於System.ValueType家族,每個值類型的對象都有一個獨立的內存區域用於保存自己的值,值類型數據所在的內存區域稱為(Stack)

值類型主要包括基本數據類型(如  int,float,double)

案例:

  int heightzhang=170;

  int heightli=heigtzhang;

  Console.writeLine("去年張浩的成績為:"+heightzhang+"李明的成績為:"+heighli);

  heightli=180;

  Console.writeLine("去年張浩的成績為:"+heightzhang+"李明的成績為:"+heighli);

引用類型

 引用類型源於System.Object家族,在C#中引用類型主要包括數組,類,和接口等

案例:

 int[] infozhang=new int[]{179,60};

 int[] infoli=infozhang;

 Console.write("去年張浩的身高是:"+infozhang[0]+"體重是:"+infozhang[1]+"李明的身高是:"+infoli[0]+"體重是:"+infoli[1]);

 infoli[0]=180;

 infoli[1]=70;

Console.write("去年張浩的身高是:"+infozhang[0]+"體重是:"+infozhang[1]+"李明的身高是:"+infoli[0]+"體重是:"+infoli[1]);

 細分值類型和引用類型

  數據類型的分類

   類別描述

   值類型  基本數據類型 整型:int

   長整型:long

   浮點型:float

雙精度型:double

字符型:char

    布爾型:bool

    枚舉類型    枚舉 :enum

    結構類型 結構:struct

引用類型 類 基類:System.Object

    字符串:string

自定義類:class

   接口    接口:interface

   數組 數組:int[],string[]

結構

 public int id;

 public int age;

 public int Id{

get{ return id;}

set{ id=value;}

}

 public int Age{

 get{ return age;}

set{ age=value;}


}

  結構的定義

 訪問修飾符  struct  結構名{
  //結果體
}

 結構定義有以下特點:

 1.結構中可以有字段,也可以有方法

 2.定義時,結構中的字段不能被賦值

 public struct Student{
public int id;

public int age;
}

結構的使用

結構的構成和類相似,在使用結構時,要注意以下幾個方面:

1.可以不用new,直接定義結構的對象即可‘

2.聲明結構的對象後,必須給結構的成員賦初值

public struct Student{

public int id;

public int age;

public void Show(){
Console.writeLine("ID:{0}\n年齡:{1}",id,age);
}
}

static void Main(string[] args){
Student stu;

stu.id=1001;

stu.age=20;

stu.show();
}

結構的使用經驗

結構是值類型,聲明結構變量就存儲一個結構的新副本,即系統要開辟一塊新的存儲空間,因此結構用得越多所消耗的空間也越多

裝箱和拆箱

我們說數據類型按照存儲方式可以分為值類型和引用類型,二者仍然可以相互轉換。將值類型轉換為引用類型的過程稱為裝箱,反之稱為拆箱

static void Main(string[] args){
int i=123;

object o=i;

i=456;

Console.writeLine("值類型的值為 {0}",i);

Console.writeLine("引用類型的值為 {0}",o);


}

拆箱

int i=123;

object o=i;

int j=(int)o;

不同類型的參數傳遞

1.使用值傳遞,在方法中對參數值的更改在調用後不能保留

2.所以ref方式傳遞,可以將對參數值的更改保留

值方式參數傳遞

在值方式參數傳遞時,參數可以是引用類型,也可以是值類型

使用引用類型作為參數

class Voter{
public void Vote(SE se){
se.Popularity++;
}
}

SE zhang=new SE();

zhang.Age=25;

zhang.Name="張菁";

zhang.Gender=Gender.female;

zhang.Popularity=10;

MessageBox.Show(zhang.SayHi());

Voter voter=new Voter();

voter.Vote(zhang);

MessageBox.Show(zhang.SayHi());

引用方式參數傳遞

1.使用引用類型作為參數

private void Vote(ref SE se){
  se.popularity++;
}

2.使用值類型作為參數

private void Vote(ref StructSE se){

se.popularity++;

用ref方式傳遞的二種參數形式沒有區別,都會保存方法中的修改


}

 

 

拆箱

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved