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

C# में एक स्ट्रिंग को दूसरी स्ट्रिंग में कॉपी करना

C# में स्ट्रिंग्स इम्यूटेबल (अपरिवर्तनीय) होती हैं। String.Copy() स्टैटिक मेथड एक नया स्ट्रिंग ऑब्जेक्ट बनाता है जिसकी सामग्री मूल स्ट्रिंग के समान होती है। चूंकि स्ट्रिंग्स इम्यूटेबल हैं, यह आमतौर पर अनावश्यक होता है - साधारण असाइनमेंट (=) पर्याप्त होता है क्योंकि दोनों वेरिएबल्स समान इम्यूटेबल ऑब्जेक्ट को संदर्भित करेंगे।

उदाहरण 1: String.Copy() का बुनियादी उपयोग

using System;

public class Demo {
    public static void Main() {
        string str1 = "Kevin";
        // String.Copy से नया स्ट्रिंग ऑब्जेक्ट बनाएं
        string str2 = String.Copy(str1);

        Console.WriteLine("String1 = " + str1);
        Console.WriteLine("String2 = " + str2);
        
        // रेफरेंस समानता जांचें
        Console.WriteLine("समान रेफरेंस? " + object.ReferenceEquals(str1, str2));
        // मान समानता जांचें
        Console.WriteLine("समान मान? " + (str1 == str2));
    }
}

आउटपुट

String1 = Kevin
String2 = Kevin
समान रेफरेंस? False
समान मान? True

उदाहरण 2: मौजूदा स्ट्रिंग वेरिएबल को ओवरराइट करना

using System;

public class Demo {
    public static void Main() {
        string str1 = "Maisie";
        string str2 = "Ryan";

        Console.WriteLine("कॉपी से पहले:");
        Console.WriteLine("String1 = " + str1);
        Console.WriteLine("String2 = " + str2);

        // str1 को str2 में कॉपी करें (str2 का पिछला मान खो जाता है)
        str2 = String.Copy(str1);

        Console.WriteLine("\nकॉपी के बाद:");
        Console.WriteLine("String1 = " + str1);
        Console.WriteLine("String2 (अपडेटेड) = " + str2);
    }
}

आउटपुट

कॉपी से पहले:
String1 = Maisie
String2 = Ryan

कॉपी के बाद:
String1 = Maisie
String2 (अपडेटेड) = Maisie

String.Copy() बनाम असाइनमेंट (=)

पहलूString.Copy()असाइनमेंट (=)
नया ऑब्जेक्ट बनाता हैहांनहीं
रेफरेंस समानताFalseTrue
मान समानताTrueTrue
उपयोग का मामलादुर्लभ (इंटरऑप, पिनिंग)हमेशा प्राथमिक

सर्वोत्तम अभ्यास

  • साधारण असाइनमेंट उपयोग करें: string s2 = s1; - सरल, तेज़, इम्यूटेबिलिटी के लिए सुरक्षित।
  • String.Copy() से बचें: जब तक आपको वास्तव में एक अलग ऑब्जेक्ट इंस्टेंस की आवश्यकता न हो (उदाहरण के लिए, अनमैनेज्ड कोड के साथ इंटरऑप के लिए पिनिंग)।
  • स्ट्रिंग इंटर्निंग: समान लिटरल स्ट्रिंग्स स्वतः इंटर्न हो सकते हैं (समान रेफरेंस साझा करते हैं)।

नोट

.NET Core / .NET 5+ में String.Copy() अप्रचलित (obsolete) चिह्नित है क्योंकि स्ट्रिंग इम्यूटेबिलिटी के कारण यह लगभग कभी आवश्यक नहीं होता।

  1. - C# में इवेंट कैसे घोषित करें?

    इवेंट्स उपयोगकर्ता क्रियाएं होती हैं जैसे की प्रेस, क्लिक, माउस मूवमेंट्स आदि, या सिस्टम-जनरेटेड नोटिफिकेशन्स जैसी घटनाएं।इवेंट्स को एक क्लास में घोषित और उठाया जाता है और डेलीगेट्स का उपयोग करके उसी क्लास या किसी अन्य क्लास में इवेंट हैंडलर्स से जोड़ा जाता है। इवेंट वाली क्लास का उपयोग इवेंट को पब्

  1. वर्ड डॉक्यूमेंट को दूसरे वर्ड डॉक्यूमेंट में कैसे इन्सर्ट करें वर्ड डॉक्यूमेंट को दूसरे वर्ड डॉक्यूमेंट में कैसे इन्सर्ट करें

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

  1. - पायथन में एक स्ट्रिंग को दूसरी स्ट्रिंग में बदलना

    मान लीजिए हमारे पास दो स्ट्रिंग str1 और str2 हैं। और उनकी लंबाई समान है, हमें जांचना है कि क्या हम str1 को str2 में शून्य या अधिक रूपांतरण करके बदल सकते हैं।एक रूपांतरण में हम str1 में एक वर्ण के सभी घटनाओं को किसी अन्य लोअरकेस अंग्रेजी वर्ण में बदल सकते हैं। हमें जांचना है कि क्या हम str1 को str2 म