2008-10-27 10 views
5

मैं अपने आप को सी # पर गति लाने की कोशिश कर रहा हूं, जो पहले कभी इसके लिए विकसित नहीं हुआ था। पिछले प्रश्न में मैंने अच्छी पुस्तक समीक्षा साइटों के बारे में पूछा, और इसके माध्यम से मुझे "आवश्यक सी #" के लिए एक बहुत ही सकारात्मक (शुरुआती उन्मुख) समीक्षा मिली लेकिन यह पिछले संस्करण के लिए थी।सी # (और नेट) का कौन सा संस्करण शुरू करना चाहिए?

जब एक नई भाषा शुरू, यह सबसे अच्छा के साथ शुरू करने के लिए है:

जबकि मुझे यकीन है कि यह अभी भी एक अच्छी किताब है, भले ही गुणवत्ता संस्करणों के बीच गिरा दिया हो जाएगा हूँ, यह मेरे लिए एक दिलचस्प सवाल उठाती है नवीनतम संस्करण (उदाहरण के लिए सी # 3.0/नेट 3.5) या मुझे एक संस्करण या दो वापस जाना चाहिए और बाद में भाषा में जो जोड़ा गया है उसे जानने का प्रयास करें?

पूर्व तुरंत अद्यतित होने के दृष्टिकोण से बेहतर लगता है, लेकिन बाद में यह अधिक व्यावहारिक लगता है कि शायद यह संभावना है कि एक दुकान भाषा के थोड़ा पुराने संस्करण का उपयोग करेगी।

उत्तर

7

नवीनतम के साथ शुरू करें। यदि आपको पिछले संस्करण पर बनाए गए कोड के साथ काम करने की ज़रूरत है, तो आप संस्करण एक्स और संस्करण वाई

16

के बीच अंतर सीख सकते हैं, मैं सुझाव दूंगा कि आप नवीनतम के साथ एक प्रोजेक्ट शुरू करें। आपको सभी नए संवर्द्धन सीखने की आवश्यकता नहीं है, लेकिन जब आप तैयार हों तो वे आसानी से आपके लिए उपलब्ध होंगे।

3.5 वास्तव में 'परिवर्धन' के साथ 2.0 ढांचा है।

यदि आप वास्तव में नमूने के माध्यम से काम करने की प्रक्रिया में हैं, तो नवीनतम में काम करना चाहिए। फिर जब आप आरामदायक होते हैं, तो आप नवीनतम संस्करण का उपयोग करके क्षेत्रों को बढ़ाने के लिए देख सकते हैं। E.G. शायद नेस्टेड आईएफ के साथ लूप को LINQ का उपयोग करने के लिए बढ़ाया जा सकता है।

+0

मुझे 2.0-ऐप्स के साथ LINQ का उपयोग करने में समस्याएं आई हैं, मुझे विश्वास है कि LINQ असेंबली के कुछ हिस्सों को 3.5 (उदा। LINQ2SQL) के साथ संकलित किया गया है। तो, आप 3.5 में प्रोग्राम भी कर सकते हैं लेकिन 2.0 फ्रेमवर्क को पहले लक्षित करें। – chakrit

+0

चक्रित, मैं सम्मान से उससे असहमत हूं। यदि कोई नया उपयोगकर्ता उदाहरण LINQ कोड पर ठोकर खाता है, तो 2.0 को लक्षित करते समय यह काम नहीं करेगा। –

4

.NET Framework 3.0 और 3.5 2.0 पर आधारित हैं, इसलिए मैं कहूंगा कि आप 2.0 विशेषताओं पर ध्यान केंद्रित करने के लिए सबसे अच्छे हैं और फिर आप 3.0 और 3.5 सामान को जोड़ते हैं।

बस 2.0 से पहले कुछ भी बचना सुनिश्चित करें क्योंकि उन्होंने संस्करण 2.0 के साथ पिछड़ा संगतता तोड़ दी है।

2

.NET 3.5 और C# 3.0 के साथ जाएं। अन्यथा करना आपको पीछे से शुरू करता है। इसके अलावा, मुख्य सुविधाएं संस्करणों में समान हैं। लेकिन, जब आप LINQ के लिए तैयार हों, उदाहरण के लिए, यह आपके लिए तैयार है!

2

मैं आपको एक प्रश्न पूछकर अपने प्रश्न का उत्तर दूंगा।

क्या आप ऐसे व्यवसाय में काम करेंगे जो सी #/नेट या नवीनतम संस्करण का उपयोग करता है जो पुराने संस्करण का उपयोग करता है?

3

नवीनतम के साथ शुरू करें।

बाद वाले संस्करणों में कुछ उपहार हैं जो 1.0 में नहीं हैं। आप नवीनतम संस्करण में तय किए गए वर्कअराउंड्स का उपयोग करने की "खराब" आदतों को शुरू नहीं करना चाहते हैं।

1

गोद लेने के आपके प्रश्न को हल करने के लिए, क्योंकि संस्करण 2.0 से 3.5 तक संक्रमण कई सॉफ्टवेयर दुकानों के लिए निषिद्ध रूप से दर्दनाक नहीं है, मैं आगे बढ़ूंगा और 3.5 से शुरू करूंगा। आप निश्चित रूप से 2.0 जानते होंगे, हालांकि शायद कुछ मुहावरे बदल गए होंगे।

0

यदि आप फ्रीलांस अनुबंध काम कर रहे हैं तो मुझे लगता है कि पुरानी चीजें सीखना बेहतर है। जिस कोड को आप स्पर्श करेंगे, वह पुराना होगा। यदि आप नियोजित हैं और एक नए ऐप के साथ आने के लिए भाषा का उपयोग करना है या आप इसे मजेदार बनाने के लिए कर रहे हैं तो मैं नवीनतम और महानतम चुनूंगा।

1

नवीनतम, बिल्कुल जानें। उदाहरण के लिए, क्या आप प्री-जेनेरिक सी # कंटेनर का उपयोग करने की आदत में शामिल होना चाहते हैं, और फिर उसे अनदेखा करना होगा? पुरानी सामग्री पर इसे पढ़ने के रूप में पुरानी सामग्री पर पढ़ें। लेकिन यकीन है कि आप रॉक से सी # 1 और 2 के बजाय सी # 3 से शांत सामान सीखने भाषा सुविधाओं पर ठोस रहे हैं बनाने की कोशिश -

3

पर देखने के नवीनतम जानने के लिए चाहते हो सकता है। किसी और चीज के अलावा, आप अभी भी कई रखरखाव नौकरियों में सीधे सी # 1 देखने जा रहे हैं।

यह जानने के लायक है कि विभिन्न सुविधाओं को कैसे लागू किया जाता है - सी # 2 में, निरर्थक प्रकार और जेनेरिकों को सीएलआर परिवर्तनों की आवश्यकता होती है, लेकिन बाकी (इटरेटर ब्लॉक, अज्ञात विधियां, आंशिक प्रकार इत्यादि) केवल कंपाइलर जादू थे। सी # 3 में यह सभी कंपाइलर जादू है (LINQ आदि के लिए फ्रेमवर्क समर्थन के साथ)। आपको वास्तव में सीएलआर शर्तों में बुनियादी बातों को समझना चाहिए (एक संरचना क्या है? कक्षा क्या है?) और CLR via C# इसे सीखने का एक शानदार तरीका है। एएसपी.नेट, विनफॉर्म, डब्ल्यूपीएफ इत्यादि के बारे में ज्यादा चिंता करने से पहले मूल प्रौद्योगिकियों (सिस्टम। * प्रकार, आईओ, संग्रह इत्यादि) पर ध्यान केंद्रित करें। मैं LINQ से ऑब्जेक्ट्स को "कोर" एपीआई के रूप में शामिल करता हूं लेकिन LINQ से SQL तक नहीं, उदाहरण के लिए।

मेरे पास किसी बिंदु पर (समीक्षा उद्देश्यों के लिए) मेरी पढ़ने की सूची पर आवश्यक सी # है - मुझे यह पेशकश करने के माध्यम से त्वरित झटका लगा है, और यह ठोस और पूरी तरह से लगता है।

संबंधित मुद्दे