programing tip

Convert.ToBoolean (string)과 Boolean.Parse (string)의 차이점은 무엇입니까?

itbloger 2020. 10. 22. 07:44
반응형

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()있습니다.

참고URL : https://stackoverflow.com/questions/7031964/what-is-the-difference-between-convert-tobooleanstring-and-boolean-parsestrin

반응형