Frage

Was ist der Unterschied zwischen bool Und Boolean Typen in C#?

War es hilfreich?

Lösung

bool ist ein Alias ​​für System.Boolean genauso wie int ist ein Alias ​​für System.Int32.Eine vollständige Liste der Aliase finden Sie hier: Tabelle der integrierten Typen (C#-Referenz).

Andere Tipps

Ich glaube nicht, dass es einen gibt.

bool ist nur ein Alias ​​für System.Boolean

Sie sind ein und dasselbe.bool ist nur ein Alias ​​für Boolean.

Es gibt keinen Unterschied – bool ist einfach ein Alias ​​von System.Boolean.

http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx

Ich weiß, das viele Jahre später, aber ich auf dieser Seite von Google mit der gleichen Frage gestolpert.

Es gibt einen kleinen Unterschied auf der MSDN-Seite ab sofort.

VS2005

  

Hinweis:

     

Wenn Sie eine Boolesche Variable erfordern, das auch einen Wert von null haben kann, verwenden Bool.   Weitere Informationen finden Sie Nullable Types (C # -Programmierhandbuch).

VS2010

  

Hinweis:

     

Wenn Sie eine Boolesche Variable erfordern, das auch einen Wert von null haben kann, verwenden Bool ?.   Weitere Informationen finden Sie Nullable Types (C # -Programmierhandbuch).

Es ist die gleiche. Boolean hilft Umwandlung hin und her zwischen C # und VB.Net zu vereinfachen. Die meisten C # Programmierer neigen ‚Bool‘ bevorzugen, aber wenn man in einem Geschäft ist, wo es eine Menge sowohl VB.Net und C # ist, dann können Sie Boolesche bevorzugen, weil es in beiden Orten funktioniert.

Das eine ist ein Alias ​​für das andere.

Wie gesagt, sind sie gleich. Es gibt zwei, weil Bool ein C # Schlüsselwort und Boolesche eine .NET-Klasse ist.

bool ist ein Alias ​​für die Boolean-Klasse.Ich verwende den Alias, wenn ich eine Variable deklariere, und den Klassennamen, wenn ich eine Methode für die Klasse aufrufe.

Es ist die gleiche, Bool ist nur System.Boolean verkürzt. Verwenden Sie Boolesche wenn Sie mit einem VB.net-Programmierer sind, da sie sowohl mit C # und Vb

funktioniert

, dass Boolean Hinweis wird nur Arbeit wurden Sie haben using System; (die in der Regel, aber nicht notwendigerweise, enthalten) (es sei denn Sie es aus wie System.Boolean schreiben). bool nicht using System; benötigen

Bool ist ein primitiver Typ, was bedeutet, dass der Wert (true / false in diesem Fall) direkt in den Variablen gespeichert wird. Boolean ist ein Objekt. Eine Variable des Typs Boolean speichert eine Referenz auf einen booleschen Objekts. Der einzige wirkliche Unterschied ist die Lagerung. Ein Objekt wird immer mehr Speicher als eine primitive Art nehmen, aber in Wirklichkeit ändert alle Boolesche Werte in bool wird keine spürbaren Auswirkungen auf die Speichernutzung haben gehen.

Ich war falsch; das ist, wie es in Java mit boolean und Boolean funktioniert. In C #, bool und Boolean sind beiden Referenztypen. Beide speichern ihren Wert direkt in den Variablen, die beide nicht Null sein können, und beide erfordern ein „ConvertTo“ Verfahren zum Speichern ihrer Werte in einer anderen Art (wie int). Ist es nur wichtig, die Sie verwenden, wenn Sie eine statische Funktion definiert innerhalb der Booleschen Klasse aufrufen müssen.

Vielleicht Bool ist ein bisschen „leichter“ als Boolean; Interessanterweise ändert dies:

namespace DuckbillServerWebAPI.Models
{
    public class Expense
    {
        . . .
        public bool CanUseOnItems { get; set; }
    }
}

... folgt aus:

namespace DuckbillServerWebAPI.Models
{
    public class Expense
    {
        . . .
        public Boolean CanUseOnItems { get; set; }
    }
}

... verursacht meine cs-Datei ein sprießen "using System;" Ändern verursacht die Art zurück zu „Bool“ die Haare der using-Klausel ergrauen.

(Visual Studio 2010, WebAPI Projekt)

bool ist ein Alias ​​für Boolean.Aliase ersetzen eine Textzeichenfolge durch eine andere (wie „Alles durchsuchen/ersetzen“ in Notepad++), kurz bevor der Code kompiliert wird.Die Verwendung eines über dem anderen hat zur Laufzeit keine Auswirkung.

In den meisten anderen Sprachen wäre einer ein primitiver Typ und der andere ein Objekttyp (Werttyp und Referenztyp im C#-Jargon).C# bietet Ihnen nicht die Möglichkeit, zwischen beiden zu wählen.Wenn Sie eine in der Boolean-Klasse definierte statische Methode aufrufen möchten, wird Boolean automatisch als Referenztyp behandelt.Wenn Sie eine neue boolesche Variable erstellen, wird diese automatisch als Referenztyp behandelt (es sei denn, Sie verwenden die Methode Activator.CreateInstance).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top