Convert.ToBoolean (string)과 Boolean.Parse (string)의 차이점은 무엇입니까?
두 방법의 차이점은 무엇입니까
Convert.ToBoolean()
과
Boolean.Parse()
?
둘 중 하나를 사용해야하는 이유가 있습니까?
또한주의 type.Parse()
해야 할 다른 방법이 있습니까?
감사,
매트
Convert.ToBoolean(string)
bool.Parse()
어쨌든 실제로 호출 하므로 null이 아닌 string
경우 기능적 차이가 없습니다. (널 위해 string
S, Convert.ToBoolean()
반환 false
, 반면 bool.Parse()
가 발생합니다 ArgumentNullException
.)
그 사실을 감안할 때, bool.Parse()
자신이 하나의 null 검사를 저장하기 때문에 입력이 null이 아니라고 확신 할 때 사용해야합니다 .
Convert.ToBoolean()
물론 당신이 생성 할 수있는 다른 오버로드의 번호를 가진 bool
많은 다른 내장의 종류, 반면 Parse()
입니다 string
만의.
찾아봐야 할 type.Parse () 메서드의 측면에서 모든 내장 숫자 유형에는 메서드 Parse()
와 함께 TryParse()
있습니다. 날짜에 대한 예상 형식을 지정할 수 DateTime
있는 추가 ParseExact()
/ TryParseExact()
메서드도 있습니다.
다음은 짧은 데모입니다.
object ex1 = "True";
Console.WriteLine(Convert.ToBoolean(ex1)); // True
Console.WriteLine(bool.Parse(ex1.ToString())); // True
object ex2 = "true";
Console.WriteLine(Convert.ToBoolean(ex2)); // True
Console.WriteLine(bool.Parse(ex2.ToString())); // True
object ex3 = 1;
Console.WriteLine(Convert.ToBoolean(ex3)); // True
Console.WriteLine(bool.Parse(ex3.ToString())); // Unhandled Exception: System.FormatException
object ex3 = "1";
Console.WriteLine(Convert.ToBoolean(ex3)); // An unhandled exception of type 'System.FormatException' occurred
Console.WriteLine(bool.Parse(ex3.ToString())); // Unhandled Exception: System.FormatException
object ex4 = "False";
Console.WriteLine(Convert.ToBoolean(ex4)); // False
Console.WriteLine(bool.Parse(ex4.ToString())); // False
object ex5 = "false";
Console.WriteLine(Convert.ToBoolean(ex5)); // False
Console.WriteLine(bool.Parse(ex5.ToString())); // False
object ex6 = 0;
Console.WriteLine(Convert.ToBoolean(ex6)); // False
Console.WriteLine(bool.Parse(ex6.ToString())); // Unhandled Exception: System.FormatException
object ex7 = null;
Console.WriteLine(Convert.ToBoolean(ex7)); // False
Console.WriteLine(bool.Parse(ex7.ToString())); // Unhandled Exception: System.NullReferenceException
참고 : bool
TrueString 및 FalseString의 두 가지 속성도 있지만주의해야 bool.TrueString != "true"
합니다.bool.TrueString == "True"
Console.WriteLine(bool.TrueString); // True
Console.WriteLine(bool.FalseString); // False
Boolean.Parse()
논리 부울 값의 문자열 표현을 부울 값으로 변환합니다. 기본 형식을 해당하는 부울 형식으로 변환하는 Convert.ToBoolean()
여러 오버로드 가 있습니다.
전부는 아니지만 대부분의 C # 기본 형식에는 .NET Framework와 동일한 용도로 사용되는 연결된 * .Parse / Convert.To * 메서드가 Boolean.Parse()/Convert.ToBoolean()
있습니다.
'programing tip' 카테고리의 다른 글
왜 이것을 람다에서 참조 ( '& this')로 캡처 할 수 없습니까? (0) | 2020.10.22 |
---|---|
a가 초기화되지 않은 경우 a ^ a 또는 aa 정의되지 않은 동작입니까? (0) | 2020.10.22 |
열의 공통 값을 기반으로 큰 데이터 프레임을 데이터 프레임 목록으로 분할 (0) | 2020.10.22 |
Windows 용 GitHub가 GitLab에서 작동하나요? (0) | 2020.10.22 |
Go 맵을 json으로 변환 (0) | 2020.10.22 |