, wie String-NULL-Werte gemacht werden können

8

Ich möchte den mittleren Namen der Person optional machen. Ich habe C # .net Code zuerst Ansatz verwendet. Für ganzzahligen Datentyp ist es einfach, indem Sie "?" Operator in Nullable machen. Ich bin auf der Suche nach einer Möglichkeit, meinen Stachel variabel nullbar zu machen. Ich habe versucht zu suchen, konnte aber nicht den Weg finden, es NULL-fähig zu machen.

Unten ist mein Code. Bitte schlage mir vor, wie man es NULL machen kann.

%Vor%     
Sabin Kumar Sharma 29.09.2015, 20:47
quelle

7 Antworten

28

String ist ein Referenztyp und immer Nullwert, Sie müssen nichts Besonderes tun. Das Angeben, dass ein Typ nullwertfähig ist, ist nur für Werttypen erforderlich.

    
aw04 29.09.2015, 20:56
quelle
2
___ qstnhdr ___, wie String-NULL-Werte gemacht werden können ___ answer32853665 ___

Es ist nicht möglich Referenztypen Nullable zu machen. In einer Nullable-Struktur können nur Werttypen verwendet werden. Wenn Sie ein Fragezeichen an einen Werttyp-Namen anhängen, wird es als Nullwert angezeigt. Diese beiden Zeilen sind gleich:

%Vor%     
___ qstntxt ___

Ich möchte den mittleren Namen der Person optional machen. Ich habe C # .net Code zuerst Ansatz verwendet. Für ganzzahligen Datentyp ist es einfach, indem Sie "?" Operator in Nullable machen. Ich bin auf der Suche nach einer Möglichkeit, meinen Stachel variabel nullbar zu machen. Ich habe versucht zu suchen, konnte aber nicht den Weg finden, es NULL-fähig zu machen.

Unten ist mein Code. Bitte schlage mir vor, wie man es NULL machen kann.

%Vor%     
___ answer32853607 ___

public string CMName { get; set; } type ist ein Referenztyp und daher standardmäßig nullfähig. Sie können %code% nur mit Werttypen verwenden.

%Vor%

Was bedeutet, dass der Typ, der für den generischen Parameter ersetzt wird, ein Werttyp sein muss.

    
___ answer32854120 ___

Sie müssen nichts tun, die Modelbinding wird Null auf Variable ohne Probleme übergeben.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungs-Framework und -Tooling, das eine auf Web-Anwendungen zugeschnittene Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ answer32853612 ___

String ist ein Referenztyp und immer Nullwert, Sie müssen nichts Besonderes tun. Das Angeben, dass ein Typ nullwertfähig ist, ist nur für Werttypen erforderlich.

    
___ answer32853793 ___

Wie bereits erwähnt, ist string in C # immer nullbar. Ich vermute, dass Sie die Frage stellen, weil Sie den zweiten Vornamen nicht als null oder leer zurücklassen können. Ich vermute, das Problem liegt in Ihren Validierungsattributen, höchstwahrscheinlich in der RegEx. Ich bin nicht in der Lage, RegEx vollständig in meinem Kopf zu analysieren, aber ich denke , dass dein RegEx darauf besteht, dass der erste Charakter vorhanden ist. Ich könnte falsch liegen - RegEx ist schwer. Versuchen Sie auf jeden Fall, Ihre Validierungsattribute zu kommentieren und zu prüfen, ob sie funktioniert, und fügen Sie sie einzeln nacheinander hinzu.

    
___ tag123modelviewcontroller ___ Model-View-Controller (MVC) ist ein Architekturmuster, das im Software-Engineering verwendet wird. Verwenden Sie für Microsoft ASP.NET MVC stattdessen das [asp.net-mvc] -Tag. Verwenden Sie für Spring MVC bitte das [spring-mvc] -Tag. ___ tag123dataannotations ___ Datenanmerkungen werden von Frameworks wie ASP.NET MVC verwendet, um einen modellbasierten Validierungsansatz zu ermöglichen und eine konsistente Validierung in der gesamten Anwendung sowohl auf Client- als auch auf Serverseite zu erzwingen. Sie wurden zuerst in ASP.NET MVC 2 eingeführt. Neben ASP.NET MVC können sie auch mit anderen Technologien wie Entity Framework verwendet werden, entweder durch manuelle Platzierung von Attributen auf Eigenschaften oder durch automatische Generierung mit T4-Vorlagen. ___ answer32858393 ___

System.String ist ein Referenztyp, so dass Sie nichts tun müssen wie

%Vor%

Es hat bereits einen Nullwert (die Nullreferenz):

%Vor%     
___
Tim 29.09.2015 20:55
quelle
2

System.String ist ein Referenztyp, so dass Sie nichts tun müssen wie

%Vor%

Es hat bereits einen Nullwert (die Nullreferenz):

%Vor%     
Kashif Mustafa 30.09.2015 05:24
quelle
1

Es ist nicht möglich Referenztypen Nullable zu machen. In einer Nullable-Struktur können nur Werttypen verwendet werden. Wenn Sie ein Fragezeichen an einen Werttyp-Namen anhängen, wird es als Nullwert angezeigt. Diese beiden Zeilen sind gleich:

%Vor%     
Vova 29.09.2015 20:59
quelle
0

string type ist ein Referenztyp und daher standardmäßig nullfähig. Sie können Nullable<T> nur mit Werttypen verwenden.

%Vor%

Was bedeutet, dass der Typ, der für den generischen Parameter ersetzt wird, ein Werttyp sein muss.

    
Kapol 29.09.2015 20:56
quelle
0

Wie bereits erwähnt, ist string in C # immer nullbar. Ich vermute, dass Sie die Frage stellen, weil Sie den zweiten Vornamen nicht als null oder leer zurücklassen können. Ich vermute, das Problem liegt in Ihren Validierungsattributen, höchstwahrscheinlich in der RegEx. Ich bin nicht in der Lage, RegEx vollständig in meinem Kopf zu analysieren, aber ich denke , dass dein RegEx darauf besteht, dass der erste Charakter vorhanden ist. Ich könnte falsch liegen - RegEx ist schwer. Versuchen Sie auf jeden Fall, Ihre Validierungsattribute zu kommentieren und zu prüfen, ob sie funktioniert, und fügen Sie sie einzeln nacheinander hinzu.

    
Frans 29.09.2015 21:08
quelle
0

Sie müssen nichts tun, die Modelbinding wird Null auf Variable ohne Probleme übergeben.

    
Renato Leite 29.09.2015 21:32
quelle