Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में नेमस्पेस बनाम Java में पैकेजेस: अंतर


दोनों कोड को व्यवस्थित करने और नाम संघर्ष (naming conflicts) रोकने के लिए उपयोग होते हैं, लेकिन महत्वपूर्ण अंतर हैं।

Java में पैकेजेस (Packages)

  • package package_name; से घोषित (फाइल की पहली लाइन)।
  • डायरेक्टरी स्ट्रक्चर पैकेज स्ट्रक्चर से **मेल खाना चाहिए** (फोल्डर = पैकेज)।
  • एक फाइल एक ही पैकेज से संबंधित हो सकती है।
  • एक्सेस कंट्रोल: package-private (डिफ़ॉल्ट) केवल उसी पैकेज में विज़िबल।
  • उद्देश्य: नाम संघर्ष रोकना, एक्सेस कंट्रोल, खोज/लोकेट आसान।

C# में नेमस्पेस (Namespaces)

  • namespace NamespaceName { ... } ब्लॉक से घोषित।
  • डायरेक्टरी स्ट्रक्चर से **मेल खाने की आवश्यकता नहीं** (हालांकि कन्वेंशन अनुसरण किया जाता है)।
  • एक फाइल में **एकाधिक नेमस्पेस** हो सकते हैं।
  • नेमस्पेस **एक्सेस मॉडिफायर नहीं हैं** - वे केवल नामों को व्यवस्थित करते हैं। internal टाइप असेंबली-स्तर तक सीमित होता है।
  • नेस्टेड नेमस्पेस: namespace A.B.C { } या namespace A { namespace B { } }

तुलना तालिका

विशेषताJava PackageC# Namespace
घोषणाpackage name;namespace Name { }
फिजिकल स्ट्रक्चरअनिवार्य मिलानवैकल्पिक (कन्वेंशन)
फाइल प्रति इकाई1 पैकेजएकाधिक नेमस्पेस संभव
एक्सेस कंट्रोलpackage-private डिफ़ॉल्टनहीं (internal असेंबली के लिए)
नेस्टिंगडॉट नोटेशन (a.b.c)ब्लॉक नेस्टिंग या डॉट
उपयोगimport pkg.*using Namespace;

C# नेमस्पेस उदाहरण

namespace MyApp.Models
{
    public class User { }
}

namespace MyApp.Services
{
    public class UserService { }
}

// उपयोग
using MyApp.Models;
using MyApp.Services;
  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या