輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型
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è)新的字符串,而并非修改了原來的字符串。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
C#中實(shí)現(xiàn)可變參數(shù)實(shí)例
這篇文章主要介紹了C#中實(shí)現(xiàn)可變參數(shù)實(shí)例,本文演示使用params 實(shí)現(xiàn)可變數(shù)量的參數(shù),并且這些參數(shù)的類型可以不同,需要的朋友可以參考下2015-01-01C#實(shí)現(xiàn)簡(jiǎn)單獲取掃碼槍信息代碼
本文給大家分享的是使用C#實(shí)現(xiàn)簡(jiǎn)單獲取掃碼槍信息代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2016-07-07WPF實(shí)現(xiàn)動(dòng)畫效果(四)之緩動(dòng)函數(shù)
這篇文章介紹了WPF實(shí)現(xiàn)動(dòng)畫效果之緩動(dòng)函數(shù),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06C#中實(shí)現(xiàn)向數(shù)組中動(dòng)態(tài)添加元素
這篇文章主要介紹了C#中實(shí)現(xiàn)向數(shù)組中動(dòng)態(tài)添加元素方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06C#使用udp如何實(shí)現(xiàn)消息的接收和發(fā)送
這篇文章主要介紹了C#使用udp如何實(shí)現(xiàn)消息的接收和發(fā)送問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02使用代理模式來進(jìn)行C#設(shè)計(jì)模式開發(fā)的基礎(chǔ)教程
這篇文章主要介紹了使用代理模式來進(jìn)行C#設(shè)計(jì)模式開發(fā)的基礎(chǔ)教程,代理模式主張?jiān)诳蛻舳撕湍繕?biāo)對(duì)象中間建立中介來降低程序設(shè)計(jì)的耦合度,需要的朋友可以參考下2016-02-02