Inhaltsverzeichnis
Wie arbeite ich mit Nullable-Typ und Null-String in C#?
Beispiele für C#-Nullable-Strings
Beispiel #3
Beispiele #2
Fazit

C#-Nullable-String

Sep 03, 2024 pm 03:22 PM
c# c# tutorial

In C# gibt es zwei Arten von Variablen: Werttypen und Referenztypen. Variablen vom Werttyp können nicht null zugewiesen werden, wohingegen wir Referenztypvariablen null zuweisen können. Da es sich bei der Zeichenfolge um einen Referenztyp handelt, kann sie null sein. In diesem Thema lernen wir etwas über C# Nullable String.

Um einem Werttyp Null zuzuweisen, müssen wir Nullable verwenden. Struktur. Der nullbare Typ kann nur mit Werttypen verwendet werden, nicht mit Referenztypen. Daher können wir nullable nicht mit Zeichenfolgen verwenden. Wir können einen Nullwert anstelle eines Referenztyps speichern, um einen Nullwert zu speichern.

Syntax mit Erklärung

Die Syntax zum Zuweisen von Null zu einer Zeichenfolgenvariablen lautet wie folgt:

string str = null;
Nach dem Login kopieren

Hier ist str eine Variable vom Typ String und „null“ ist das Schlüsselwort, das zur Angabe des Nullwerts verwendet wird. In der obigen Anweisung weisen wir der Zeichenfolge null direkt zu, da es sich um einen Referenztyp handelt und einen Nullwert enthalten kann.

Nullable struct weist einem Werttyp null zu. Die Syntax lautet wie folgt:

Nullable<dataType> variableName = null;
Nach dem Login kopieren

Eine andere Möglichkeit, den Nullable-Typ zu verwenden, ist wie folgt:

dataType? variableName = null;
Nach dem Login kopieren

Der Datentyp ist der Datentyp eines beliebigen Werttyps in den beiden obigen Anweisungen, und Variablenname ist der benutzerdefinierte Name, der der Variablen gegeben wird.

Wie arbeite ich mit Nullable-Typ und Null-String in C#?

Nullable-Typ in C# weist Werttypvariablen wie Typ int, float, bool usw. Nullwerte zu, da sie keine Nullwerte speichern können. Andererseits können wir nullable nicht mit String oder einer anderen Referenztypvariablen verwenden, da diese direkt einen Nullwert speichern kann.

Ein nullbarer Typ ist nichts anderes als eine Instanz einer Struktur System.Nullable wobei T einen Werttyp des Datentyps darstellt. Beispielsweise können wir im nullbaren Typ „float“ „true“, „false“ und „null“ speichern. Wir können dies mit den folgenden Anweisungen verstehen:

//Die folgende Anweisung ist gültig, da wir null in nullable of bool speichern können

Nullable<bool> boolVal = null;
Nach dem Login kopieren

//die folgende Anweisung ist ungültig, da wir Null nicht in einer Variablen vom Typ bool speichern können

bool boolVal = null;
Nach dem Login kopieren

Wenn wir die obige Anweisung verwenden, erhalten wir die Fehlermeldung „Null kann nicht in Bool konvertiert werden, da es sich um einen nicht nullbaren Werttyp handelt.“

Eine andere Möglichkeit, einen Nullable-Typ zu erstellen, ist die Verwendung des „?“-Operators, wie unten gezeigt:

bool? boolVal = null;
Nach dem Login kopieren

Um nun auf den Wert eines nullbaren Typs zuzugreifen, müssen wir die Methode GetValueOrDefault() verwenden. Mit Hilfe dieser Methode erhalten wir den ursprünglich zugewiesenen Wert, wenn der Wert nicht null ist. Wenn der Wert hingegen null ist, erhalten wir den Standardwert Null.

Abgesehen davon können wir Nullable.HasValue verwenden, um zu überprüfen, ob dem Objekt ein Wert zugewiesen wurde oder nicht. Wenn dem Objekt ein Wert zugewiesen wurde, wird „true“ zurückgegeben, wenn das Objekt keinen Wert enthält.

Wir können den Nullable-Typ nicht mit „var“ verwenden und wir können keinen verschachtelten Nullable-Typ haben; es wird uns einen Fehler bei der Kompilierung geben.

Lassen Sie uns nun über die Nullzeichenfolge in C# sprechen. Wir können einer Zeichenfolge in C# direkt Null zuweisen und mit „string“ eine Zeichenfolge zuweisen. „Leer“ ist ein schreibgeschütztes Feld, das angibt, dass die Zeichenfolge leer ist.

Wir können keine Methoden für die Nullzeichenfolge aufrufen und keine Zeichenfolgeneigenschaften für die Nullzeichenfolge verwenden, während wir dasselbe mit leeren Zeichenfolgen tun können. Wenn wir beispielsweise die Länge einer leeren Zeichenfolge mithilfe einer Zeichenfolge überprüfen. Längen-Eigenschaft, dann erhalten wir das Ergebnis als Null. Wenn wir hingegen die Länge einer Nullzeichenfolge überprüfen, erhalten wir eine Laufzeitausnahme mit der Meldung „System.NullReferenceException: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt“. Wir erhalten die gleiche Ausnahme, wenn wir versuchen, eine beliebige String-Methode für einen Null-String aufzurufen. Dies liegt daran, dass eine Nullzeichenfolge keine Instanz eines Systems ist. Zeichenfolge. Wir können dies anhand der folgenden Aussagen verstehen:

Beispiel für eine leere Zeichenfolge:

string str = string.Empty;
int a = str.Length; //the result of this statement will be zero
Nach dem Login kopieren

Beispiel für eine Nullzeichenfolge:

string str = null;
int a = str.Length; //this statement will give NullReferenceException
Nach dem Login kopieren

Beispiele für C#-Nullable-Strings

Verschiedene Beispiele sind unten aufgeführt:

Beispiel #1

Beispiel, das zeigt, wie ein nullfähiger Typ erstellt wird.

Code:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
try
{
//defining nullable type for int
Nullable<int> intVal1 = null;
int result1;
Nullable<int> intVal2 = 53;
int result2;
//using GetValueOrDefault()
//to get value from nullable type
result1 = intVal1.GetValueOrDefault();
result2 = intVal2.GetValueOrDefault();
Console.WriteLine("Integer having null: {0}", result1);
Console.WriteLine("Integer having value: {0}", result2);
}
catch(Exception exception)
{
Console.WriteLine(exception.Message);
Console.ReadLine();
}
Console.ReadLine();
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Nullable-String

Beispiele #2

Zum Beispiel wird mit dem Operator „?“ ein nullbarer Typ erstellt und mit HasValue geprüft, ob er einen Wert enthält oder nicht.

Code:

using System;
public class Program
{
public static void Main()
{
try
{
//defining nullable type
//using '?' operator
int? intVal1 = null;
bool result1;
int? intVal2 = 53;
bool result2;
//using HasValue to check
// if the object has been assigned a value or not
result1 = intVal1.HasValue;
result2 = intVal2.HasValue;
Console.WriteLine("Integer having null: {0}", result1);
Console.WriteLine("Integer having value: {0}", result2);
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
Console.ReadLine();
}
Console.ReadLine();
}
}
Nach dem Login kopieren

Ausgabe:

C#-Nullable-String

Beispiel #3

Beispiel zur Überprüfung, ob eine Zeichenfolge null oder leer ist oder einen Wert enthält, mithilfe der IsNullOrEmpty()-Methode.

Code:

using System;
public class Program
{
public static void Main()
{
string str1 = null;
string str2 = string.Empty;
string str3 = "Learning C#";
Console.WriteLine("str1 is null or empty: {0}", string.IsNullOrEmpty(str1));
Console.WriteLine("str2 is null or empty: {0}", string.IsNullOrEmpty(str2));
Console.WriteLine("str3 is null or empty: {0}", string.IsNullOrEmpty(str3));
Console.ReadLine();
}
}
Nach dem Login kopieren

Ausgabe:

C#-Nullable-String

Fazit

In C# können Werttypvariablen wie Variablen vom Typ int, float, bool, double usw. keinen Nullwert speichern, wohingegen Referenztypvariablen wie String Nullwerte speichern können. Um Nullwerte in Werttypvariablen zu speichern, können wir Nullable verwenden. Struktur.

Das obige ist der detaillierte Inhalt vonC#-Nullable-String. 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ßer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1671
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Fakultät in C# Fakultät in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Primzahlen in C# Primzahlen in C# Sep 03, 2024 pm 03:35 PM

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

So ändern Sie das Format von XML So ändern Sie das Format von XML Apr 03, 2025 am 08:42 AM

Es gibt verschiedene Möglichkeiten, XML -Formate zu ändern: manuell mit einem Texteditor wie Notepad bearbeiten; automatisch Formatierung mit Online- oder Desktop -XML -Formatierungswerkzeugen wie XMLBeautifier; Definieren Sie Conversion -Regeln mithilfe von XML -Conversion -Tools wie XSLT; oder analysieren und mit Verwendung von Programmiersprachen wie Python arbeiten. Seien Sie vorsichtig, wenn Sie die Originaldateien ändern und sichern.

See all articles