最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年03月27日 11:36:41   投稿:junjie  
這篇文章主要介紹了C#預(yù)定義數(shù)據(jù)類型之值類型和引用類型介紹,本文著重講解了引用類型中的object(對(duì)象)類型和string(字符串)類型,需要的朋友可以參考下

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("請(qǐng)輸入一個(gè)整數(shù)為圓的半徑:");
      int r = Convert.ToInt32(Console.ReadLine());
      double Area = PI * r * r;
      Console.WriteLine("所求圓的面積為:"+Area);
      Console.ReadLine();
    }
  }
}

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

在預(yù)定義的數(shù)據(jù)類型中,引用類型有object(對(duì)象)類型和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類型是用一對(duì)雙引號(hào)引起來的字符,它是通過復(fù)制對(duì)其賦值的。

通過一個(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è)新的字符串,而并非修改了原來的字符串。

相關(guān)文章

  • C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本實(shí)例

    C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本,實(shí)例分析了C#基于鏈表實(shí)現(xiàn)的記事本功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 最新評(píng)論

    深州市| 化德县| 尼勒克县| 洱源县| 南漳县| 河东区| 那曲县| 崇阳县| 方山县| 苍溪县| 芦溪县| 紫金县| 扶沟县| 达日县| 图木舒克市| 雷州市| 恩平市| 岳池县| 阜城县| 交口县| 衡阳市| 汨罗市| 宁远县| 崇文区| 辽宁省| 涞水县| 宣恩县| 巫山县| 墨竹工卡县| 贺兰县| 济阳县| 宣汉县| 胶州市| 霍州市| 武穴市| 迁安市| 缙云县| 鹤庆县| 望谟县| 二连浩特市| 香河县|