C# の bool 型と Boolean 型の違いは何ですか
質問
違いは何ですか bool
そして Boolean
C#の型?
解決
bool
のエイリアスです System.Boolean
同じように int
のエイリアスです System.Int32
. 。エイリアスの完全なリストについては、こちらをご覧ください。 組み込み型テーブル (C# リファレンス).
他のヒント
そんなものはないと思います。
bool
は単なるエイリアスです System.Boolean
それらは同じものです。bool は Boolean の別名です。
違いはありません。bool は単に System.Boolean のエイリアスです。
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
もう何年も経ってからのことですが、Google で同じ質問が書かれたこのページを偶然見つけました。
現時点では MSDN ページに小さな違いが 1 つあります。
VS2005
注記:
null 値も含めることができるブール変数が必要な場合は、bool を使用します。詳細については、「Null 許容型 (C# プログラミング ガイド)」を参照してください。
VS2010
注記:
null 値も含めることができるブール変数が必要な場合は、bool? を使用します。詳細については、「Null 許容型 (C# プログラミング ガイド)」を参照してください。
彼らも同じです。ブール値は、C# と VB.Net 間の変換を簡素化するのに役立ちます。ほとんどの C# プログラマは 'bool' を好む傾向がありますが、VB.Net と C# の両方が多数あるショップでは、両方の場所で機能する Boolean を好むかもしれません。
一方はもう一方のエイリアスです。
言われたように、それらは同じです。bool は C# キーワードであり、Boolean は .Net クラスであるため、2 つあります。
bool は Boolean クラスのエイリアスです。変数を宣言する場合はエイリアスを使用し、クラスのメソッドを呼び出す場合はクラス名を使用します。
これらは同じであり、Bool は単に System.Boolean を短縮したものです。VB.net プログラマーと一緒にいる場合は、C# と Vb の両方で動作するため、Boolean を使用してください。
ご了承ください Boolean
あなたが持っている場合にのみ機能します using System;
(これは通常は含まれますが、必ず含まれるわけではありません) (次のように書き出した場合を除く) System.Boolean
). bool
必要ありません using System;
bool はプリミティブ型で、値 (この場合は true/false) が変数に直接格納されることを意味します。ブール値はオブジェクトです。Boolean 型の変数には、Boolean オブジェクトへの参照が格納されます。唯一の違いはストレージです。オブジェクトは常にプリミティブ型よりも多くのメモリを消費しますが、実際には、すべてのブール値を bool に変更してもメモリ使用量に目立った影響はありません。
私は間違っていた;これは、Java でブール値とブール値を使用して動作する方法です。C# では、bool と Boolean はどちらも参照型です。どちらも値を変数に直接格納します。どちらも null にすることはできません。値を別の型 (int など) に格納するには、「convertTO」メソッドが必要です。Boolean クラス内で定義された静的関数を呼び出す必要がある場合にのみ、どれを使用するかが問題になります。
おそらく bool は Boolean よりも少し「軽い」でしょう。興味深いことに、これを変更すると、
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public bool CanUseOnItems { get; set; }
}
}
...これに:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public Boolean CanUseOnItems { get; set; }
}
}
... CSファイルに「システムを使用して」と発芽させました。タイプを「bool」に戻すと、使用節の髪が灰色に変わりました。
(Visual Studio 2010、WebAPI プロジェクト)
bool は Boolean の別名です。エイリアスが行うことは、コードがコンパイルされる直前に、あるテキスト文字列を別の文字列に置き換えることです (notepad++ の検索/全置換など)。一方を他方に優先して使用しても、実行時には影響がありません。
他のほとんどの言語では、1 つはプリミティブ型で、もう 1 つはオブジェクト型 (C# 用語での値型と参照型) になります。C# では、2 つのどちらかを選択するオプションはありません。Boolean クラスで定義された静的メソッドを呼び出したい場合、Boolean は自動的に参照型として扱われます。新しいブール変数を作成すると、自動的にそれが参照型として処理されます (Activator.CreateInstance メソッドを使用しない限り)。