Convert.ToBoolean (string)과 Boolean.Parse (string)의 차이점은 무엇입니까?
두 방법의 차이점은 무엇입니까
Convert.ToBoolean()
과
Boolean.Parse()?
둘 중 하나를 사용해야하는 이유가 있습니까?
또한주의 type.Parse()해야 할 다른 방법이 있습니까?
감사,
매트
Convert.ToBoolean(string)bool.Parse()어쨌든 실제로 호출 하므로 null이 아닌 string경우 기능적 차이가 없습니다. (널 위해 stringS, 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
참고 : boolTrueString 및 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 |