狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 中的幾種類型的轉(zhuǎn)換

admin
2024年11月10日 9:32 本文熱度 811

前言

在 C# 中,變量在聲明后就無(wú)法再次聲明或無(wú)法分配另一種類型的值,除非該類型可以隱式轉(zhuǎn)換為變量的類型。但有時(shí)我們可能需要將值復(fù)制到其他類型的變量或方法參數(shù)中。這意味著我們需要對(duì)類型進(jìn)行轉(zhuǎn)換操作,而在 C# 中,可以通過(guò)些方式實(shí)現(xiàn)類型的轉(zhuǎn)換。

類型轉(zhuǎn)換

1、隱式轉(zhuǎn)換

這種轉(zhuǎn)換是自動(dòng)進(jìn)行的,不需要特殊語(yǔ)法,因?yàn)檗D(zhuǎn)換始終會(huì)成功,并且不會(huì)丟失任何數(shù)據(jù)。一般是發(fā)生在從較小整數(shù)類型到較大整數(shù)類型的轉(zhuǎn)換以及從派生類到基類的轉(zhuǎn)換。

float pi=3.14;// 隱式轉(zhuǎn)換double qty=pi;
int i = pi; // 隱式轉(zhuǎn)換long num = i;
public class BasePrint{    public void Message()    {        Console.WriteLine("基礎(chǔ)打印");    }}public class BarcodePrint: BasePrint{    public void BarcodeMessage()    {        Console.WriteLine("條碼打印");    }}
BarcodePrint barcode = new BarcodePrint();// 隱式轉(zhuǎn)換BasePrint base = barcode;
引用類型的隱式轉(zhuǎn)換,它是從一個(gè)類轉(zhuǎn)換為該類的任何一個(gè)直接或間接的基類或接口的情況。因?yàn)榕缮愂冀K包含基類的所有成員,所以能隱式轉(zhuǎn)換。

2、顯式轉(zhuǎn)換

這種轉(zhuǎn)換需要明確指出,通常涉及到范圍較小的類型到范圍較大的類型,或者可能丟失信息的轉(zhuǎn)換。顯式轉(zhuǎn)換也稱為強(qiáng)制轉(zhuǎn)換
double price = 234.70;int qty;// 強(qiáng)制將 double 轉(zhuǎn)換 int.qty = (int)price;
public class ZTextBox:TextBox{}
ZTextBox txtProduct = new ZTextBox();// 顯式將 ZTextBox 轉(zhuǎn)換為 TextBoxTextBox txtBoxcode = (TextBox)txtProduct; 

3、類型轉(zhuǎn)換方法

對(duì)于類型轉(zhuǎn)換方法,下面我們了解幾種方法來(lái)進(jìn)行類型轉(zhuǎn)換。

  • Convert類:提供了一系列靜態(tài)方法,用于在不同類型之間進(jìn)行轉(zhuǎn)換。

// 日期轉(zhuǎn)字符串string today = Convert.ToString(DateTime.Now);// 字符串轉(zhuǎn)數(shù)值double price = Convert.ToDouble("231.40");// 數(shù)值0轉(zhuǎn)布爾值bool result = Convert.ToBoolean(0);

  • Parse方法:用于完成類型轉(zhuǎn)換,如果轉(zhuǎn)換失敗,則拋出異常。

使用該方法需要類型提供了Parse方法。如int.Parse、double.Parse等。
// 字符串轉(zhuǎn)日期DateTime dateTime = DateTime.Parse("2024-01-11");// 字符串轉(zhuǎn)數(shù)值double price = double.Parse("231.40");// 字符串true轉(zhuǎn)為布爾值bool result = bool.Parse("true");

  • TryParse方法:嘗試轉(zhuǎn)換,返回值為布爾值,代表是否轉(zhuǎn)換成功。

    使用該方法需要類型提供了TryParse方法。如int.TryParse、double.TryParse等。

// 字符串嘗試轉(zhuǎn)日期DateTime.TryParse("2024-01-11", out DateTime dateTime);// 字符串嘗試轉(zhuǎn)數(shù)值double.TryParse("120.50", out double price);

  • ChangeType方法:可以將一個(gè)類型轉(zhuǎn)換為指定的類型。

它是 Convert 類中提供的一個(gè)方法,可以將一個(gè)類型轉(zhuǎn)換為其它類型。
long qty = 123;object result = Convert.ChangeType(qty, typeof(int));

4、用戶定義的轉(zhuǎn)換

用戶定義的轉(zhuǎn)換使用自定義的特殊方法,以支持在不具有基類和派生類關(guān)系的自定義類型之間實(shí)現(xiàn)顯式和隱式轉(zhuǎn)換。通過(guò)在類中定義轉(zhuǎn)換運(yùn)算符來(lái)定義自己的類型轉(zhuǎn)換規(guī)則。通過(guò)在類型中定義 implicit 或 explicit 關(guān)鍵字。
// 定義攝氏溫度Celsius celsius = new Celsius();// 設(shè)定溫度 20celsius.Temperature = 20;// 將攝氏溫度轉(zhuǎn)為華氏溫度Fahrenheit fahrenheit = (Fahrenheit)celsius;// 輸出華氏溫度為68Console.WriteLine(fahrenheit.Temperature);// 將華氏溫度轉(zhuǎn)為攝氏溫度Celsius fahrenheitToCelsius = (Celsius)fahrenheit;// 輸出攝氏溫度為20Console.WriteLine(fahrenheitToCelsius.Temperature);
/// <summary>/// 攝氏溫度/// </summary>public class Celsius{    public double Temperature { get; set; }
   public static implicit operator Fahrenheit(Celsius celsius)    {        return new Fahrenheit { Temperature = (celsius.Temperature*9 /5)+32};    }}
/// <summary>/// 華氏溫度/// </summary>public class Fahrenheit{    public double Temperature { get; set; }
   public static implicit operator Celsius(Fahrenheit fahrenheit)    {        return new Celsius { Temperature = (fahrenheit.Temperature-32)*5/9};    }}

小結(jié)

以上是C#中常見(jiàn)的類型轉(zhuǎn)換方式,每種方式都有其適用的場(chǎng)景和限制。在編程中,應(yīng)根據(jù)不同場(chǎng)景和限制選擇合適的類型轉(zhuǎn)換方法。


該文章在 2024/11/11 10:23:00 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved