国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#預(yù)定義數(shù)據(jù)類型之值類型和引用類型介紹

2020-01-24 02:05:21
字體:
供稿:網(wǎng)友

C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型。值類型的變量在內(nèi)存中是存儲(chǔ)在堆棧中的,字面上理解就是直接保存其值,如聲明一個(gè)屬于值類型的整型變量,并給它賦予另一個(gè)整型變量的值,則在內(nèi)存中事先復(fù)制一個(gè)整型變量的值,然后將其賦予剛剛聲明的整型變量,這時(shí)內(nèi)存中就會(huì)有兩個(gè)整型值。引用類型的變量在內(nèi)存中是直接保存其值的引用。C#語言中大多數(shù)復(fù)雜數(shù)據(jù)類型都是引用類型。

先來一個(gè)值類型的常量的例子

根據(jù)用戶輸入圓的半徑,求圓的面積的代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace area{  class Program  {    static void Main(string[] args)    {      const double PI = 3.14;      Console.WriteLine("請輸入一個(gè)整數(shù)為圓的半徑:");      int r = Convert.ToInt32(Console.ReadLine());      double Area = PI * r * r;      Console.WriteLine("所求圓的面積為:"+Area);      Console.ReadLine();    }  }}

分析: Console.WriteLine("請輸入一個(gè)整數(shù)為圓的半徑:");
int r = Convert.ToInt32(Console.ReadLine());這兩句是將輸入的返回的字符串轉(zhuǎn)換為整型進(jìn)行算術(shù)運(yùn)算。代碼中的Convert.ToInt32()方法是將字符串轉(zhuǎn)換為整型的方法。

在預(yù)定義的數(shù)據(jù)類型中,引用類型有object(對象)類型和string(字符串)類型兩種。
      
1、object類型是所有其他類型的基類型,所以可把任何類型的值賦給它。
就來看一個(gè)關(guān)于object類型的例子:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace objectType{  class Program  {    static void Main(string[] args)    {      object a;      a = 10;      Console.WriteLine(a);      Console.WriteLine(a.GetType());      a = true;      Console.WriteLine(a);      Console.WriteLine(a.GetType());      a = 10.0M;      Console.WriteLine(a);      Console.WriteLine(a.GetType());      Console.ReadLine();     }  }}

分析:代碼中的GetType()方法是獲取變量的數(shù)據(jù)類型。第一次將整型值賦值給a,其次是布爾型,最后是decimal型。輸出的結(jié)果為:從輸出的結(jié)果可以體現(xiàn)出C#語言的類型強(qiáng)大功能

2、string類型是用一對雙引號引起來的字符,它是通過復(fù)制對其賦值的。

通過一個(gè)例子來實(shí)現(xiàn)字符串賦值是創(chuàng)建一個(gè)新的字符串來實(shí)現(xiàn)的:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace str{  class Program  {    static void Main(string[] args)    {      string str1 = "hello";      string str2 = str1;      Console.WriteLine("str1=" + str1);      Console.WriteLine("str2=" + str2);      str1 = "after";      Console.WriteLine("str1=" + str1);      Console.WriteLine("str2=" + str2);      Console.ReadLine();     }  }}

輸出的結(jié)果為:

從輸出的結(jié)果來看:在修改一個(gè)字符串的時(shí)候,實(shí)際上是創(chuàng)建了一個(gè)新的字符串,而并非修改了原來的字符串。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 攀枝花市| 闽侯县| 左贡县| 盐源县| 潜江市| 蚌埠市| 易门县| 禄丰县| 馆陶县| 嘉峪关市| 独山县| 绿春县| 胶州市| 鲁甸县| 深州市| 宁陕县| 垣曲县| 水富县| 合作市| 固始县| 景洪市| 阆中市| 明星| 襄樊市| 临澧县| 上虞市| 华宁县| 景泰县| 黑龙江省| 衡东县| 白银市| 义马市| 荥经县| 扶沟县| 海门市| 赣州市| 延长县| 资阳市| 和龙市| 霍城县| 定州市|