namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
object[] obj = new object[3];
obj[0] = new object();
obj[1] = "some string";
obj[2] = 10;
string[] strings = new string[] { "one", "two", "three" };
obj = strings; //---> No Error here, Why ?
int[] ints = new int[] { 1, 2, 3 };
obj = ints; /*-> Compiler error - Cannot implicitly convert type 'int[]' to 'object[]', Why ?*/
}
}
}
मुझे ऊपर दिखाए गए चरण को करने के दौरान एक कंपाइलर त्रुटि मिलती है। लेकिन, पिछले चरण में, कोई त्रुटि नहीं है। क्या कोई मुझे इस व्यवहार की व्याख्या कर सकता है? मैं वीएस 2010 का उपयोग कर रहा हूं।सी # - कंपाइलर त्रुटि - ऑब्जेक्ट को int [] असाइन करने के दौरान []
संपादित करें - पूर्णता के लिए, फिर से, यह संकलित नहीं होगा - .NET 4.0 में भिन्न समर्थन अब साफ़ कर दिया गया है। कोई भी सामान्य कीवर्ड पैरामीटर के साथ और में नए कीवर्ड का उपयोग कर सकता है।
List<object> objectList = new List<object>();
List<string> stringList = new List<string>();
objectList = stringList;
आप के बीच मतभेदों को समझते हो मूल्य प्रकार और संदर्भ प्रकार? – Oded