首頁 > 後端開發 > C++ > 如何在 C# 中強制將物件轉換或轉換為泛型類型?

如何在 C# 中強制將物件轉換或轉換為泛型類型?

Mary-Kate Olsen
發布: 2025-01-05 11:13:42
原創
508 人瀏覽過

How Can I Cast or Convert Objects to Generic Types in C#?

使用泛型類型變數轉換變數

在C# 程式設計中,可以將object 類型的變數轉換為泛型T 類型的變數,其中T 在類型變數中定義。它的工作原理如下:

泛型方法CastObject;接受一個物件作為輸入,並使用簡單的轉換表達式將其轉換為T 類型的變量,如下所示:

public T CastObject<T>(object input) {   
    return (T) input;   
}
登入後複製

泛型方法ConvertObject;執行轉換而不是直接轉換。它使用Convert.ChangeType 方法將輸入物件轉換為指定的泛型類型,從而在不相容類型之間進行轉換時提供更大的靈活性:

public T ConvertObject<T>(object input) {
    return (T) Convert.ChangeType(input, typeof(T));
}
登入後複製

例如,給定一個帶有十進位值的物件value1,將其轉換使用ConvertObject 方法轉換為int將得到一個整數值:

Type intType = typeof(Int32);
object value1 = 1000.1;

int value2 = Convert.ChangeType(value1, intType); // value2 will be 1000
登入後複製

需要注意的是,如果目標類型是,則強制轉換和轉換可能會導致運行時異常與來源類型不相容。仔細處理類型轉換操作並確保預期結果始終至關重要。

以上是如何在 C# 中強制將物件轉換或轉換為泛型類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板