Convert.ChangeType(object value, TypeCode typeCode) रनटाइम पर निर्दिष्ट टाइप में कनवर्ट करता है। रिफ्लेक्शन/डायनामिक कोड के लिए उपयोगी।
उदाहरण
using System;
public class Demo
{
public static void Main()
{
double val = -3.456;
// TypeCode.Int32 का उपयोग करके int में बदलें
int num = (int)Convert.ChangeType(val, TypeCode.Int32);
Console.WriteLine("{0} को Int32 में बदला: {1}", val, num);
}
}
आउटपुट
-3.456 को Int32 में बदला: -3
TypeCode एनम (मुख्य)
TypeCode.Boolean, Byte, Char, DateTime, Decimal, Double, Int16, Int32, Int64, SByte, Single, String, UInt16, UInt32, UInt64, Object, DBNull, Empty, Object
महत्वपूर्ण सीमाएं
- केवल **IConvertible** लागू करने वाले टाइप्स के साथ काम करता है।
- कस्टम टाइप्स/क्लासेस के लिए काम **नहीं** करता।
nullमान के लिएTypeCode.Emptyया डिफ़ॉल्ट मान लौटाता है (टार्गेट टाइप पर निर्भर)।- कस्टम कनवर्जन के लिए
TypeConverterया मैन्युअल कास्टिंग उपयोग करें।
वैकल्पिक: IFormatProvider के साथ
object result = Convert.ChangeType("123.45", typeof(double), CultureInfo.InvariantCulture);