Heim Backend-Entwicklung C#.Net-Tutorial .NET Framework – Detaillierte Erläuterung, ob String ein Wert oder ein Referenztyp ist

.NET Framework – Detaillierte Erläuterung, ob String ein Wert oder ein Referenztyp ist

Mar 18, 2017 pm 01:37 PM

Schauen Sie sich zunächst den Code an:

           int a = 1;           
           int b = a;
           a = 2;           
           bool valOrRef = b == 2  ;//false;
Nach dem Login kopieren

Sie können sehen, dass der int-Typ ein Werttyp ist, da sich b nach a nicht ändert.

Sehen Sie sich den folgenden Code noch einmal an:

            string str11 = "qa";            
            string str22 = str11;
            str11 = "qaz";            
            bool valOrRef2 = str22 == "qaz"; //false
Nach dem Login kopieren

Das Ergebnis ist ebenfalls falsch, daher ist string auch ein Werttyp.

Sehen Sie sich den folgenden Code noch einmal an:

            string str1 = "qaz";            
            string str2 = "qaz";            
            bool refequ = object.ReferenceEquals(str1, str2); //true
Nach dem Login kopieren

refequ ist gleich true Wenn string wirklich ein Werttyp ist, wie kann refequ dann true sein, denn schauen Sie sich bitte den folgenden Code an :

            int a = 1;            
            int b = 1;            
            bool refequ2 = object.ReferenceEquals(a, b);//false
Nach dem Login kopieren

 int ist ein Werttyp, das ist sicher, zwei intVariablen werden deklariert.

Das ist ein Widerspruch. String sieht aus wie ein Werttyp, aber er sieht auch wie ein Referenztyp aus.

Microsoft: String ist Referenztyp. Wie lässt sich also erklären, was wie ein Werttyp aussieht?

Bitte denken Sie an 2 Punkte:

1) String Objekt , wenn die Werte gleich sind, sind ihre Referenzadressen das gleiche.
2) Zeichenfolgenobjekte. Wenn die Werte nicht gleich sind, sind ihre Referenzadressen nicht gleich.

Analyse des obigen Codes:

            string str11 = "qa";//str11指向了内存addressA,数据为qa;
            string str22 = str11;//str22也指向内存addressA
            str11 = "qaz";//str11新指向了内存addressB,数据为qaz
            bool valOrRef2 = str22 == "qaz"; //false
Nach dem Login kopieren

Zusammenfassung:

Eines der wichtigsten Merkmale von Zeichenfolgen ist, dass sie über Folgendes verfügen Konstante Stabilität : Sobald wir eine Zeichenfolge erstellt und ihr einen kontinuierlichen Speicherplatz auf dem verwalteten Heap zugewiesen haben, können wir die Zeichenfolge in keiner Weise ändern, um sie zu verlängern, zu verkürzen oder zu ändern das Format. Alle von verschiedenen Operationen an dieser Zeichenfolge zurückgegebenen Zeichenfolgen sind tatsächlich eine weitere neu erstellte Zeichenfolge, die selbst keine Änderungen hervorruft.

Postscript:
Wie ist die Saiteneffizienz?

Das String-Objekt wird als unveränderliches (schreibgeschütztes) Objekt bezeichnet, da sein Wert nach der Erstellung des Objekts nicht mehr geändert werden kann. Manchmal scheint es, dass die Zeichenfolge speziell verarbeitet wurde. Bei jeder Änderung des Werts wird ein neues Zeichenfolgenobjekt erstellt, während die ursprüngliche Variable weiterhin darauf verweist das ursprüngliche Objekt, sodass es sich nicht ändert. Dies ist auch der Grund, warum String ineffizient ist.

Das obige ist der detaillierte Inhalt von.NET Framework – Detaillierte Erläuterung, ob String ein Wert oder ein Referenztyp ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Jul 24, 2023 pm 07:55 PM

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine gängige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

So konvertieren Sie ein Char-Array in einen String So konvertieren Sie ein Char-Array in einen String Jun 09, 2023 am 10:04 AM

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschließen der Konvertierung.

Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Jul 25, 2023 pm 05:16 PM

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unveränderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr geändert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt können wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

2w Wörter detaillierte Erklärung String, yyds 2w Wörter detaillierte Erklärung String, yyds Aug 24, 2023 pm 03:56 PM

Hallo zusammen, heute werde ich die Grundkenntnisse von Java: String mit Ihnen teilen. Unnötig zu erwähnen, wie wichtig die String-Klasse ist. Man kann sagen, dass sie die am häufigsten verwendete Klasse in unserer Back-End-Entwicklung ist, daher ist es notwendig, darüber zu sprechen.

Fähigkeiten zur Byte-, Runen- und String-Konvertierung von Golang-Funktionen Fähigkeiten zur Byte-, Runen- und String-Konvertierung von Golang-Funktionen May 17, 2023 am 08:21 AM

In der Golang-Programmierung sind Byte-, Runen- und String-Typen sehr grundlegende und gängige Datentypen. Sie spielen eine wichtige Rolle bei der Verarbeitung von Datenoperationen wie Zeichenfolgen und Dateiströmen. Wenn wir diese Datenoperationen durchführen, müssen wir sie normalerweise ineinander konvertieren, was die Beherrschung einiger Konvertierungsfähigkeiten erfordert. In diesem Artikel werden die Konvertierungstechniken für Byte-, Runen- und String-Typen von Golang-Funktionen vorgestellt. Ziel ist es, den Lesern zu helfen, diese Datentypen besser zu verstehen und sie geschickt in der Programmierpraxis anwenden zu können.

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Jul 25, 2023 am 09:09 AM

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr häufiger Datentyp. Wir müssen häufig die Länge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java können wir die Funktion length() der String-Klasse verwenden, um die Länge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ

So verwenden Sie die String-Klasse von Java So verwenden Sie die String-Klasse von Java Apr 19, 2023 pm 01:19 PM

1. String1 verstehen. Schauen wir uns zunächst den Quellcode der String-Klasse im JDK an. Sie können sehen, dass die String-Klasse nicht geändert werden kann Es gibt keine Unterklasse der String-Klasse, sodass alle Personen, die das JDK verwenden, dieselbe String-Klasse verwenden können Die Verwendung derselben Methode durch zwei verschiedene Personen führt zu unterschiedlichen Ergebnissen, was die Entwicklung des Codes unmöglich macht. Vererbung und Methodenüberschreibung bringen nicht nur Flexibilität, sondern führen auch dazu, dass sich viele Unterklassen unterschiedlich verhalten.

So verwenden Sie die Split-Methode in Java String So verwenden Sie die Split-Methode in Java String May 02, 2023 am 09:37 AM

Die Split-Methode in String verwendet die Split()-Methode von String, um den String entsprechend den eingehenden Zeichen oder Strings aufzuteilen und das geteilte Array zurückzugeben. 1. Allgemeine Verwendung Bei Verwendung allgemeiner Zeichen wie @ oder als Trennzeichen: Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out. println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3

See all articles