2012-03-06 13 views
6

php में हम इसवहाँ php

< ?php 

$ कार = नए stdClass जैसे मानक वर्गों और objes बना सकते हैं जैसे मानक वर्गों और सी # में वस्तुओं को बनाने के लिए किसी भी तरह है,
$ कार-> रंग = 'काला';
$ कार-> प्रकार = 'खेल';

print_r ($ कार);
?>

सी # नेट में कोई समान तरीका है ??? मैं सी # के लिए बहुत नया हूं कोई भी मदद कर सकता है ???

+2

क्या क्या आप प्राप्त करना चाहते हैं? मेरा मतलब है, छद्म-सी # लिखें जिसे आप लिखना चाहते हैं। –

+0

आप [बेनामी प्रकार] (http://msdn.microsoft.com/en-us/library/bb397696.aspx) का उपयोग कर सकते हैं –

+0

आप अपने प्रोजेक्ट में .NET ढांचे का किस संस्करण का उपयोग कर रहे हैं? .NET 4.0 में कुछ साफ चीजें हैं जो आपकी मदद कर सकती हैं, लेकिन 3.5 में इसे करना भी संभव है। –

उत्तर

10

आप सी #, जैसे में Anonymous Types इस्तेमाल कर सकते हैं: लिंक से लिया:

var v = new { Amount = 108, Message = "Hello" }; 
    Console.WriteLine(v.Amount + v.Message); 

नोट अपनी सीमाओं के लिए टिप्पणी अनुभाग (जैसे ही आपत्ति उठाने डाली जा सकती है) आदि

3

आप गुमनाम प्रकार का उपयोग कर सकते हैं, लेकिन वे काफी ही नहीं हैं: http://msdn.microsoft.com/en-us/library/bb397696.aspx

सी # वास्तव में सब है मजबूत टाइपिंग के बारे में, इतना कमजोर प्रकार का समर्थन, है अच्छी तरह से, बहुत कमजोर। आप वास्तव में यहां क्या कर रहे हैं, इस पर निर्भर करते हुए, एक अनाम प्रकार काम कर सकता है, लेकिन आम तौर पर आपको सी # में कोडिंग करते समय वास्तविक कक्षाएं बनाना चाहिए। उपरोक्त उदाहरण के लिए Car उदाहरण के लिए, मैं आमतौर पर एक कक्षा बनाउंगा। यह अधिक कोड है, लेकिन सी # है। PHP आप 10 PHP फाइलों के साथ एक ऐप बना सकते हैं, लेकिन एक ही सी # ऐप शायद 20-30 हो जाएगा।

8

सी # सांख्यिकीय रूप से टाइप किया गया है, इसलिए नियमित कक्षाओं का उपयोग किए जाने से पहले घोषित किया जाना चाहिए। हालांकि, अज्ञात प्रकार आपको प्रारंभिकरण के आधार पर कक्षाएं घोषित करने की अनुमति देते हैं। एक बार न तो प्रकार घोषित किया गया और न ही उदाहरण बदला जा सकता है।

अधिक गतिशील दृष्टिकोण के लिए ExpandoObject पर एक नज़र डालें जो गतिशील रूप से गुण जोड़ता है। इसके लिए सी # 4 की आवश्यकता है और संदर्भ गतिशील के रूप में घोषित किया जाना चाहिए।

dynamic car = new ExpandoObject(); 
car.Color = "Black"; 
car.Type "Sports";