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

सी # में मूल्य प्रकारों और संदर्भ प्रकारों को समझाएं और इसके विपरीत करें

सामान्य तौर पर, C# के सभी प्रकारों को दो मुख्य श्रेणियों में विभाजित किया जा सकता है - मान प्रकार और संदर्भ प्रकार . आइए प्रत्येक प्रकार को विस्तार से देखें।

मान प्रकार

मूल्य प्रकारों के वेरिएबल में सीधे उनका डेटा होता है। प्रत्येक चर के पास डेटा की अपनी प्रति होती है। इसलिए मान प्रकार के एक चर के लिए किसी अन्य वस्तु को संशोधित करना असंभव है।

एक मान प्रकार निम्न प्रकारों में से एक हो सकता है -

  • सभी संख्यात्मक प्रकार, जैसे, int, float, और दोगुना
  • चार और बूल प्रकार
  • संरचना टाइप करें या
  • गणना टाइप करें।

एक मान प्रकार सरल में मान होता है। उदाहरण के लिए, पूर्णांक प्रकार में वास्तविक संख्या होती है, न कि संख्या का सूचक, जैसे संदर्भ प्रकार।

एक कस्टम मान प्रकार बनाने के लिए, आप एक संरचना का उपयोग कर सकते हैं। उदाहरण के लिए -

public struct Point
{
public int X;
public int Y;
}
var p1 = new Point();

स्मृति में, एक बिंदु का एक उदाहरण इस प्रकार दर्शाया जाता है -

सी # में मूल्य प्रकारों और संदर्भ प्रकारों को समझाएं और इसके विपरीत करें

जब आप किसी अन्य चर के लिए मान प्रकार का एक चर निर्दिष्ट करते हैं, तो असाइनमेंट ऑपरेशन असाइन किए जा रहे मान की एक प्रति बनाता है। उदाहरण के लिए,

Point p2 = p1;

सी # में मूल्य प्रकारों और संदर्भ प्रकारों को समझाएं और इसके विपरीत करें

संदर्भ प्रकार

संदर्भ प्रकार के चर अपनी वस्तुओं के संदर्भ को संग्रहीत करते हैं। दो अलग-अलग चर के लिए एक ही वस्तु का संदर्भ रखना संभव है। एक चर द्वारा वस्तु में किया गया कोई भी परिवर्तन दूसरे चर के लिए दृश्यमान होता है।

एक संदर्भ प्रकार में निम्नलिखित प्रकार होते हैं -

  • स्ट्रिंग
  • कक्षा
  • सरणी
  • प्रतिनिधि
  • इंटरफ़ेस

उदाहरण के लिए, आप एक वर्ग बना सकते हैं, जो एक संदर्भ प्रकार इस प्रकार है -

public class Point{
   public int X;
   public int Y;
}
var p1 = new Point();

सी # में मूल्य प्रकारों और संदर्भ प्रकारों को समझाएं और इसके विपरीत करें

जब आप किसी अन्य चर के लिए संदर्भ प्रकार का एक चर निर्दिष्ट करते हैं, तो असाइनमेंट ऑपरेशन केवल संदर्भ की प्रतिलिपि बनाता है, न कि वास्तविक वस्तु।

Point p2 = p1;

सी # में मूल्य प्रकारों और संदर्भ प्रकारों को समझाएं और इसके विपरीत करें

उदाहरण

using System;
class Program{
   static void Main(){
      var p1 = new Point { X = 10 };
      Point p2 = p1;
      p2.X = 20;
      Console.WriteLine("Value Type");
      Console.WriteLine(p1.X);
      Console.WriteLine(p2.X);
      var u1 = new User { Age = 10 };
      User u2 = u1;
      u2.Age = 20;
      Console.WriteLine("Reference Type");

      Console.WriteLine(u1.Age);
      Console.WriteLine(u2.Age);
   }
}
public struct Point{
   public int X;

   public int Y;
}
public class User{
   public int Age { get; set; }
}

आउटपुट

Value Type
10
20
Reference Type
20
20

  1. MongoDB:कुंजी के रूप में संदर्भ का उपयोग करना और मैन्युअल रूप से एक मूल्य जोड़ना?

    मान को मैन्युअल रूप से जोड़ने के लिए, MongoDB में $push का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo585.insert({ ...    firstName: 'John', ...    lastName: 'Doe', ...    SubjectName:"MongoDB", ...    Marks: [59]

  1. सी प्रोग्रामिंग में संदर्भ और सूचक की व्याख्या करें?

    समस्या उदाहरणों का उपयोग करते हुए संदर्भ और सूचक की अवधारणा को c प्रोग्रामिंग भाषा में समझाएं। संदर्भ यह वेरिएबल का वैकल्पिक नाम है जिसे हमने घोषित किया है। इसे पास बाय वैल्यू का उपयोग करके एक्सेस किया जा सकता है। यह शून्य मान नहीं रख सकता। वाक्यविन्यास datatype *variablename उदाहरण के

  1. एक उदाहरण के साथ सी में अस्थिर और प्रतिबंधित प्रकार के क्वालिफायर की व्याख्या करें

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