परिचय
एक्सप्लिसिट कन्वर्जन (कास्टिंग) में डेवलपर जानबूझकर एक टाइप को दूसरे में बदलता है, कास्ट ऑपरेटर (Type) का उपयोग करके। यह डेटा हानि (जैसे double से int) या असंगत टाइप्स के कारण आवश्यक होता है।
उदाहरण: double से int
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
double d = 345.78;
Console.WriteLine("double: " + d);
int i = (int)d; // एक्सप्लिसिट कास्ट
Console.WriteLine("int: " + i); // आउटपुट: 345 (दशमलव भाग काट दिया जाता है)
Console.ReadKey();
}
}
}
अन्य सामान्य कास्टिंग
| स्रोत → लक्ष्य | उदाहरण | नोट |
|---|---|---|
| double → int | (int)3.14 | ट्रंकेशन (काटना) |
| long → int | (int)12345678901L | ओवरफ्लो संभव |
| float → int | (int)3.9f | ट्रंकेशन |
| बेस क्लास → डेराइव्ड | (Derived)baseObj | रनटाइम चेक; अमान्य होने पर InvalidCastException |
| इंटरफ़ेस → क्लास | (MyClass)myInterface | ऑब्जेक्ट वास्तव में MyClass होना चाहिए |
सुरक्षित विकल्प
Convert.ToInt32(d)- राउंडिंग करता है, नल संभालता है।int.TryParse- स्ट्रिंग से पार्सिंग के लिए।asऑपरेटर - रेफरेंस टाइप के लिए सेफ कास्ट (नल लौटाता है)।isपैटर्न -if (obj is int i)।