2011-01-17 10 views
30

मैं की तरह कुछ करने के लिए कोशिश कर रहा हूँ बिना इनलाइन चर के साथ एक इनलाइन वस्तु घोषित करने के लिए कैसे:एक माता पिता के वर्ग

Object [] x = new Object[2]; 

x[0]=new Object(){firstName="john";lastName="walter"}; 
x[1]=new Object(){brand="BMW"}; 

मैं अगर वहाँ एक रास्ता सी # में है कि इनलाइन घोषणा प्राप्त करने के लिए जानना चाहता हूँ

उत्तर

75

हाँ, वहाँ है:

object[] x = new object[2]; 

x[0] = new { firstName = "john", lastName = "walter" }; 
x[1] = new { brand = "BMW" }; 

आप व्यावहारिक रूप से वहाँ थे, बस declaration of the anonymous types एक छोटे से बंद किया गया था।

+8

लॉल सटीक उसी कोड पर – Kieran

+0

यही वह है जिसे मैं ढूंढ रहा था। धन्यवाद। – deadlock

+0

@hunter, लेकिन, ऑब्जेक्ट वेरिएबल्स को बाद में ऑब्जेक्ट के बिना "var" के बिना मैं कैसे एक्सेस कर सकता हूं। मैं एक्स नहीं कर सकता [1] .brand। – deadlock

1

आप कीवर्ड वर के साथ 'एक्स' की घोषणा कर सकते हैं:

var x = new 
{ 
    driver = new 
    { 
    firstName = "john", 
    lastName = "walter" 
    }, 
    car = new 
    { 
    brand = "BMW" 
    } 
}; 

यह आपको अपनी एक्स वस्तु इनलाइन घोषित करने के लिए अनुमति देगा, लेकिन आप उन्हें एक्सेस करने के लिए, अपने 2 गुमनाम वस्तुओं के नाम पर होगा । आपके पास "x" की एक सरणी हो सकती है:

x.driver.firstName // "john" 
x.car.brand // "BMW" 

var y = new[] { x, x, x, x }; 
y[1].car.brand; // "BMW" 
संबंधित मुद्दे