답변:
bool
에 대한 별칭 System.Boolean
과 마찬가지로 int
에 대한 별칭입니다 System.Int32
. 기본 제공 유형 테이블 (C # 참조) 에서 전체 별명 목록을 참조하십시오 .
boolean
와 Boolean
같은 일이 아닙니다. 하나는 기본 데이터 형식이고 다른 하나는 개체입니다.
차이는 없습니다. bool은 단순히 System.Boolean의 별칭입니다.
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
나는 이것이 몇 년 후인 것을 알고 있지만 같은 질문으로 Google 에서이 페이지를 우연히 발견했습니다.
현재 MSDN 페이지에는 약간의 차이가 있습니다.
VS2005
노트 :
값이 null 인 부울 변수가 필요한 경우 bool을 사용하십시오. 자세한 내용은 Nullable Types (C # 프로그래밍 가이드)를 참조하십시오.
VS2010
노트 :
값이 null 인 부울 변수가 필요한 경우 bool?을 사용하십시오. 자세한 내용은 Nullable Types (C # 프로그래밍 가이드)를 참조하십시오.
bool
null을 포함 할 수는 있지만 내포 할 수 없다는 것을 암시했습니다 Boolean
. 이전 문서에서 최신 문서로의 링크가 있지만 단일 ?
차이점 을 알 수있을만큼 최신 문서를 완전히 읽지는 못했습니다 .
bool은 부울 클래스의 별명입니다. 클래스에서 메소드를 호출 할 때 변수를 선언 할 때 별칭과 클래스 이름을 사용합니다.
그것들은 동일합니다. Bool은 System.Boolean이 단축되었습니다. VB.net 프로그래머와 함께있을 때는 부울을 사용하십시오. C #과 Vb에서 모두 작동하므로
bool은 기본 유형으로, 값 (이 경우 true / false)이 변수에 직접 저장됩니다. 부울은 객체입니다. Boolean 유형의 변수는 Boolean 객체에 대한 참조를 저장합니다. 유일한 차이점은 스토리지입니다. 객체는 항상 기본 유형보다 더 많은 메모리를 차지하지만 실제로 모든 부울 값을 bool로 변경해도 메모리 사용량에 눈에 띄는 영향을 미치지는 않습니다.
내가 틀렸어; 그것이 부울과 부울로 자바에서 작동하는 방식입니다. C #에서 bool과 Boolean은 모두 참조 유형입니다. 둘 다 변수에 직접 값을 저장하고 둘 다 널 (null)이 될 수 없으며 다른 유형 (예 : int)으로 값을 저장하려면 "convertTO"메소드가 필요합니다. 부울 클래스 내에 정의 된 정적 함수를 호출해야하는 경우에만 사용하는 것이 중요합니다.
bool
그리고 Boolean
한 가지 유형은 참조 유형 아니라고, 두 가지 유형하지 않습니다, 당신은에 정적 메소드를 호출 할 수 있습니다 하나의 하나의 식별자를 사용하여 유형을, 당신은 전화 사실을 필요로하지 않는 ConvertTo
다른 형식으로 변환하는 방법을.
bool
및 Boolean
둘 다 참조 유형"인 것은 올바르지 않습니다 . 단어 bool
와 Boolean
둘 다 동일한 유형을 참조하며 해당 유형은 참조 유형이 아닌 값 유형입니다.
bool은 부울의 별명입니다. 별칭이하는 것은 코드가 컴파일되기 직전에 한 문자열을 다른 문자열로 대체하는 것입니다 (notepad ++의 search / replace-all 등). 런타임에 다른 것을 사용하는 것은 효과가 없습니다.
대부분의 다른 언어에서 하나는 기본 형식이고 다른 하나는 개체 형식 (C # 전문 용어의 값 형식 및 참조 형식)입니다. C #에서는 두 가지 중에서 선택할 수있는 옵션을 제공하지 않습니다. 부울 클래스에 정의 된 정적 메소드를 호출하려는 경우 자동으로 부울을 참조 유형으로 처리합니다. 새 부울 변수를 만들면 Activator.CreateInstance 메서드를 사용하지 않는 한 자동으로 변수를 참조 유형으로 처리합니다.
아마도 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"로 다시 변경하면 using 절의 머리카락이 회색으로 바뀌 었습니다.
(Visual Studio 2010, WebAPI 프로젝트)
System.Boolean
단지보다는 Boolean
. 는 using System;
그것을 허용하기 때문에 게재 된 Boolean
올바르게 해석 할 수 System.Boolean
. 덜 장황한 것만 큼 가볍지는 않습니다.