परिचय
टाइप कन्वर्जन एक डेटा टाइप को दूसरे में बदलना है। दो श्रेणियां:
1. इम्प्लिसिट कन्वर्जन (स्वचालित)
- कोई डेटा हानि नहीं (वाइडनिंग)।
- कंपाइलर स्वचालित करता है।
- उदाहरण:
int → long,float → double,Derived → Base।
2. एक्सप्लिसिट कन्वर्जन (कास्टिंग)
- डेटा हानि संभव (नैरोइंग) या टाइप असंगत।
- कास्ट ऑपरेटर
(TargetType)आवश्यक। - उदाहरण:
double → int,Base → Derived।
उदाहरण: एक्सप्लिसिट double → int
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
double d = 8745.97;
int x = (int)d; // कास्ट: दशमलव भाग कट जाता है
Console.WriteLine(x); // 8745
Console.ReadKey();
}
}
}
सुरक्षित विकल्प
Convert.ToInt32(d)- राउंडिंग करता है (न कि ट्रंकेट)।int.TryParse- स्ट्रिंग के लिए।checkedब्लॉक - ओवरफ्लो पर अपवाद।
उपयोगकर्ता-परिभाषित कन्वर्जन
struct Digit
{
public byte Value;
public static implicit operator byte(Digit d) => d.Value; // इम्प्लिसिट
public static explicit operator Digit(byte b) => new Digit { Value = b }; // एक्सप्लिसिट
}