정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Boolean 구조체

부울 값을 나타냅니다 (true 또는 false) 값입니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Boolean : IComparable, IConvertible, 
	IComparable<bool>, IEquatable<bool>

Boolean 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(Boolean)이 인스턴스와 지정된 Boolean 개체를 비교하고 서로의 관계를 나타내는 정수를 반환합니다.
Public 메서드XNA Framework에서 지원CompareTo(Object)이 인스턴스와 지정된 개체를 비교하고 서로의 관계를 나타내는 정수를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Boolean)이 인스턴스가 지정된 Boolean 개체와 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Object)이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetHashCode이 인스턴스의 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드XNA Framework에서 지원GetTypeCode Boolean 값 형식에 대한 TypeCode를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Parse논리 값의 지정된 문자열 표현을 해당하는 Boolean으로 변환하거나, 문자열이 Boolean.TrueString 또는 Boolean.FalseString의 값과 같지 않으면 예외를 throw합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString()이 인스턴스의 값을 해당하는 문자열 표현("True" 또는 "False")으로 변환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드XNA Framework에서 지원ToString(IFormatProvider)이 인스턴스의 값을 해당하는 문자열 표현("True" 또는 "False")으로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TryParse논리 값의 지정된 문자열 표현을 해당하는 Boolean으로 변환하려고 시도합니다. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.
위쪽

  이름설명
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원FalseString부울 값 false를 문자열로 나타냅니다. 이 필드는 읽기 전용입니다.
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TrueString부울 값 true를 문자열로 나타냅니다. 이 필드는 읽기 전용입니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IComparable.CompareTo인프라입니다. 현재 인스턴스와 동일한 형식의 다른 개체를 비교하고 정렬 순서에서 현재 인스턴스의 위치가 다른 개체보다 앞인지, 뒤인지 또는 동일한지를 나타내는 정수를 반환합니다.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToBoolean인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToBoolean을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToByte인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToByte를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToChar인프라입니다. 이 변환은 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 throw됩니다.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDateTime인프라입니다. 이 변환은 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 throw됩니다.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDecimal인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToDecimal을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDouble인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToDouble을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt16인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt16을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt32인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt32를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt64인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt64를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToSByte인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToSByte를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToSingle인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToSingle을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToType인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToType을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt16인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt16을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt32인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt32를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt64인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt64를 참조하십시오.
위쪽

A Boolean 인스턴스 두 값 중 하나를 가질 수 있습니다: true, 또는 false.

Boolean 구조는 다음과 같은 작업을 지 원하는 메서드를 제공 합니다.

다음 섹션에서는 이러한 작업 및 기타 배정 현황 정보를 설명합니다.

부울 값의 서식 지정
부울 값으로 변환
부울 값을 구문 분석
부울 값 비교
이진 값으로 부울 작업
부울 값을 사용 하 여 작업 수행

부울 값의 서식 지정

문자열 표현을 한 Boolean "True"입니다는 true 또는 값을 "False"는 false 값. 문자열 표현을 한 Boolean 값은 읽기 전용으로 정의 TrueStringFalseString 필드입니다.

사용 하는 ToString 부울 값을 문자열로 변환 하는 방법입니다. 두 부울 구조 포함 ToString 오버 로드: 매개 변수가 없는 ToString() 메서드 및 ToString(IFormatProvider) 서식을 제어 하는 매개 변수를 포함 하는 메서드. 그러나이 매개 변수는 무시 됩니다 때문에 두 오버 로드 동일한 문자열을 생성 합니다. ToString(IFormatProvider) 문화권별 형식 지정 방법은 지원 하지 않습니다.

다음 예제에서는 사용 하 여 서식 있는 ToString 메서드. 참고가 예제를 사용 하는 합성 서식 지정 기능을 하므로 ToString 메서드가 암시적으로 호출 됩니다.


using System;

public class Example
{
   public static void Main()
   {
      bool raining = false;
      bool busLate = true;

      Console.WriteLine("It is raining: {0}", raining);
      Console.WriteLine("The bus is late: {0}", busLate);
   }
}
// The example displays the following output:
//       It is raining: False
//       The bus is late: True


때문에 Boolean 구조체의 두 값만 가질 수 있습니다, 쉽게 사용자 지정 서식을 추가할 수 있습니다. 간단한 사용자 지정 형식을 지정 하기 위한 다른 문자열 리터럴과 "True" 및 "False" 대체 됩니다, 같은 언어를 지 원하는 모든 조건부 평가 기능을 사용할 수 있는 조건 연산자 C#에서 또는 경우 연산자 Visual Basic. 다음 예제에서는이 방법을 사용 하 여 서식을 지정 하려면 Boolean "Yes" 및 "No" 대신 "True"와 "False" 값입니다.


using System;

public class Example
{
   public static void Main()
   {
      bool raining = false;
      bool busLate = true;

      Console.WriteLine("It is raining: {0}", 
                        raining ? "Yes" : "No");
      Console.WriteLine("The bus is late: {0}", 
                        busLate ? "Yes" : "No" );
   }
}
// The example displays the following output:
//       It is raining: No
//       The bus is late: Yes


호출할 수 보다 복잡 한 사용자 지정 서식 지정 같은 작업에 대해 문화권별 서식의 String.Format(IFormatProvider, String, Object[]) 메서드를 제공 하 고는 ICustomFormatter 구현. 다음 예제에서는 구현 된 ICustomFormatterIFormatProvider 영어 (미국), 프랑스어 (프랑스) 및 러시아어 (러시아) 문화권에 대 한 문화권별 부울 문자열을 제공 하는 인터페이스.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "", "en-US", "fr-FR", "ru-RU" };
      foreach (var cultureName in cultureNames) {
         bool value = true;
         CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureName);
         BooleanFormatter formatter = new BooleanFormatter(culture);

         String result = String.Format(formatter, "Value for '{0}': {1}", culture.Name, value);
         Console.WriteLine(result);
      }
   }
}

public class BooleanFormatter : ICustomFormatter, IFormatProvider
{   
   private CultureInfo culture;

   public BooleanFormatter() : this(CultureInfo.CurrentCulture)
   { }

   public BooleanFormatter(CultureInfo culture)
   {
      this.culture = culture; 
   }

   public Object GetFormat(Type formatType)
   { 
      if (formatType == typeof(ICustomFormatter))
         return this;
      else
         return null;
   }

   public String Format(String fmt, Object arg, IFormatProvider formatProvider)
   { 
      // Exit if another format provider is used.
      if (! formatProvider.Equals(this)) return null;

      // Exit if the type to be formatted is not a Boolean
      if (! (arg is Boolean)) return null;

      bool value = (bool) arg;
      switch (culture.Name) {
         case "en-US":
            return value.ToString();
         case "fr-FR":
            if (value) 
               return "vrai";
            else
               return "faux";
         case "ru-RU":
            if (value)
               return "верно";
            else
               return "неверно";
         default:
            return value.ToString();  
      }
   }
}
// The example displays the following output:
//       Value for '': True
//       Value for 'en-US': True
//       Value for 'fr-FR': vrai
//       Value for 'ru-RU': верно


사용할 수 있습니다 리소스 파일 부울 문화권 관련 문자열을 정의할 수 있습니다.

부울 값으로 변환

Boolean 구조체 구현 하는 IConvertible 인터페이스입니다. 결과적으로 사용할 수 있습니다는 Convert 간에 변환을 수행 하는 클래스는 Boolean 값과.NET Framework 다른 기본 형식에서 호출할 수 있는 Boolean 구조체의 명시적 구현. 그러나 간의 변환에 Boolean 다음 종류는 지원 되지 않으므로 해당 변환 메서드가 throw는 InvalidCastException 예외:

정수 또는 부동 소수점 숫자 부울 값으로 변환할 때 모든 0이 아닌 값을 변환 true 및 0 값을 false. 다음 예제에서는 선택한 오버 로드를 호출 하 여이 고 Convert.ToBoolean 클래스입니다.


using System;

public class Example
{
   public static void Main()
   {
      Byte byteValue = 12;
      Console.WriteLine(Convert.ToBoolean(byteValue));
      Byte byteValue2 = 0;
      Console.WriteLine(Convert.ToBoolean(byteValue2));
      int intValue = -16345;
      Console.WriteLine(Convert.ToBoolean(intValue));
      long longValue = 945;
      Console.WriteLine(Convert.ToBoolean(longValue));
      SByte sbyteValue = -12;
      Console.WriteLine(Convert.ToBoolean(sbyteValue));
      double dblValue = 0;
      Console.WriteLine(Convert.ToBoolean(dblValue));
      float sngValue = .0001f;
      Console.WriteLine(Convert.ToBoolean(sngValue));
   }
}
// The example displays the following output:
//       True
//       False
//       True
//       True
//       True
//       False
//       True


부동 소수점 값을 부울 값으로 변환할 때 변환 메서드가 0으로 정확한 비교를 수행 합니다. 부동 소수점 값의 정밀도 손실 결과 예상 될 수 있습니다. 이 나와 있는 예제에는 Double 변수 값은 0 이어야 합니다. 부울 값으로 변환 됩니다. 결과 위의 예제와 같이 true 반복 추가 0.2 정밀도 손실을 초래할 수 있기 때문에.

부울 값의 변환 메서드는 숫자 값으로 변환할 때의 Convert 클래스 변환 true 1 및 false 0으로 합니다. 그러나 Visual Basic 변환 함수 변환 true 두 255 (변환에 대 한 Byte 값) 또는-1 (다른 모든 숫자 변환의). 다음 예제 true 를 사용 하 여 숫자 값을 Convert 메서드를 Visual Basic 예제에서는 Visual Basic 언어의 직접 변환 연산자를 사용 하 여 경우.


using System;

public class Example
{
   public static void Main()
   {
      bool flag = true;

      byte byteValue;   
      byteValue = Convert.ToByte(flag);
      Console.WriteLine("{0} -> {1}", flag, byteValue);         

      sbyte sbyteValue;
      sbyteValue = Convert.ToSByte(flag);
      Console.WriteLine("{0} -> {1}", flag, sbyteValue);         

      double dblValue;
      dblValue = Convert.ToDouble(flag);
      Console.WriteLine("{0} -> {1}", flag, dblValue);         

      int intValue;
      intValue = Convert.ToInt32(flag);
      Console.WriteLine("{0} -> {1}", flag, intValue);         
   }
}
// The example displays the following output:
//       True -> 1
//       True -> 1
//       True -> 1
//       True -> 1


변환에 대 한 Boolean 문자열 값을 표시 하는 부울 값 서식을 섹션. 문자열에서 변환에 대 한 Boolean 값 참조는 부울 값을 구문 분석 섹션.

부울 값을 구문 분석

Boolean 구조에 두 가지 정적 구문 분석 메서드인 ParseTryParse, 문자열을 부울 값으로 변환 하는. 값의 대/소문자 해당 부울 값의 문자열 표현을 정의한는 TrueStringFalseString 필드는 "True" 및 "False", 각각. 즉, 문자열만 성공적으로 구문 분석 하는 "True", "False", "true", "false" 또는 일부 혼합 사례에 해당 됩니다. "0" 또는 "1"와 같은 숫자 문자열 구문을 분석할 수 없습니다. 선행 또는 후행 공백 문자는 문자열 비교를 수행할 때 간주 되지 않습니다.

다음 예제는 ParseTryParse 문자열의 수를 구문 분석 하는 방법입니다. Note 수 "True" 및 "False" 해당 항목에 소문자 성공적으로 구문 분석할 수 있습니다.


using System;

public class Example
{
   public static void Main()
   {
      string[] values = { null, String.Empty, "True", "False", 
                          "true", "false", "    true    ", 
                           "TrUe", "fAlSe", "fa lse", "0",  
                          "1", "-1", "string" };
      // Parse strings using the Boolean.Parse method.                    
      foreach (var value in values) {
         try {
            bool flag = Boolean.Parse(value);
            Console.WriteLine("'{0}' --> {1}", value, flag);
         }
         catch (ArgumentException) {
            Console.WriteLine("Cannot parse a null string.");
         }   
         catch (FormatException) {
            Console.WriteLine("Cannot parse '{0}'.", value);
         }         
      }
      Console.WriteLine();
      // Parse strings using the Boolean.TryParse method.                    
      foreach (var value in values) {
         bool flag = false;
         if (Boolean.TryParse(value, out flag))
            Console.WriteLine("'{0}' --> {1}", value, flag);
         else
            Console.WriteLine("Unable to parse '{0}'", value);
      }                                     
   }
}
// The example displays the following output:
//       Cannot parse a null string.
//       Cannot parse ''.
//       'True' --> True
//       'False' --> False
//       'true' --> True
//       'false' --> False
//       '    true    ' --> True
//       'TrUe' --> True
//       'fAlSe' --> False
//       Cannot parse 'fa lse'.
//       Cannot parse '0'.
//       Cannot parse '1'.
//       Cannot parse '-1'.
//       Cannot parse 'string'.
//       
//       Unable to parse ''
//       Unable to parse ''
//       'True' --> True
//       'False' --> False
//       'true' --> True
//       'false' --> False
//       '    true    ' --> True
//       'TrUe' --> True
//       'fAlSe' --> False
//       Cannot parse 'fa lse'.
//       Unable to parse '0'
//       Unable to parse '1'
//       Unable to parse '-1'
//       Unable to parse 'string'


Visual Basic 프로그래밍 하는 경우 사용할 수 있는 CBool 숫자의 문자열 표현을 부울 값으로 변환 하는 함수. "0"으로 변환 됩니다 false을 0이 아닌 값의 문자열 표현으로 변환 되 고 true. Visual Basic 프로그래밍 된 변환 해야 숫자 문자열에 숫자를 부울으로 변환 하기 전에. 다음 예제에서는 정수 배열의 부울 값으로 변환 하 여이 보여 줍니다.


using System;

public class Example
{
   public static void Main()
   {
      String[] values = { "09", "12.6", "0", "-13 " };
      foreach (var value in values) {
         bool success, result;
         int number; 
         success = Int32.TryParse(value, out number);
         if (success) {
            // The method throws no exceptions.
            result = Convert.ToBoolean(number);
            Console.WriteLine("Converted '{0}' to {1}", value, result);
         }
         else {
            Console.WriteLine("Unable to convert '{0}'", value); 
         }         
      }
   }
}
// The example displays the following output:
//       Converted '09' to True
//       Unable to convert '12.6'
//       Converted '0' to False
//       Converted '-13 ' to True


부울 값 비교

부울 값은 때문에 true 또는 false, 이유는 거의 없습니다 명시적으로 호출 하는 CompareTo 메서드를 인스턴스 보다 작음, 작거나 큰 여부를 나타냅니다 같거나 지정 된 값을. 일반적으로 두 개의 부울 변수 비교를 호출 하면 해당 Equals 메서드 또는 언어의 같음 연산자를 사용 하 여.

그러나 때 비교 하려면 리터럴 부울 값이 있는 부울 변수 true 또는 false, 필요 없는 명시적 비교는 위해 부울 값 평가 결과 부울 값. 예를 들어, 식


if (booleanValue) {



using System;

public class Example
{
   public static void Main()
   {
      bool[] hasServiceCharges = { true, false };
      Decimal subtotal = 120.62m;
      Decimal shippingCharge = 2.50m;
      Decimal serviceCharge = 5.00m;

      foreach (var hasServiceCharge in hasServiceCharges) {
         Decimal total = subtotal + shippingCharge + 
                                (hasServiceCharge ? serviceCharge : 0);
         Console.WriteLine("hasServiceCharge = {1}: The total is {0:C2}.", 
                           total, hasServiceCharge);                       
      }
   }
}
// The example displays output like the following:
//       hasServiceCharge = True: The total is $128.12.
//       hasServiceCharge = False: The total is $123.12.


동일 하지만 두 번째는 보다 간단한. 그러나 두 기술 모두 비슷한 수준의 성능을 제공합니다.

이진 값으로 부울 작업

부울 값을 1 바이트의 메모리를 차지합니다. 바이트의 하위 비트의 값을 나타내는 데 사용 됩니다. 값이 1 true. 값이 0 false.

주의 정보주의

사용할 수 있는 System.Collections.Specialized.BitVector32 부울 값의 집합을 사용 하는 구조입니다.

호출 하 여 부울 값을 이진 표현으로 변환할 수 있습니다는 BitConverter.GetBytes(Boolean) 메서드가 있습니다. 메서드는 단일 요소를 가진 바이트 배열을 반환합니다. 이진 표현에서 부울 값을 복원 하려면 해당 BitConverter.ToBoolean(Byte[], Int32) 방법.

다음 예제에서는 해당 BitConverter.GetBytes 부울 값의 이진 표시 및 표시 값 및 다음 호출의 개별 비트 변환 메서드는 BitConverter.ToBoolean 이진 표현에서 값을 복원 하는 방법.


using System;

public class Example
{
   public static void Main()
   {
      bool[] flags = { true, false };
      foreach (var flag in flags) {
         // Get binary representation of flag.
         Byte value = BitConverter.GetBytes(flag)[0];
         Console.WriteLine("Original value: {0}", flag);
         Console.WriteLine("Binary value:   {0} ({1})", value, 
                           GetBinaryString(value));
         // Restore the flag from its binary representation.
         bool newFlag = BitConverter.ToBoolean( new Byte[] { value }, 0);
         Console.WriteLine("Restored value: {0}\n", flag);
      }
   }

   private static string GetBinaryString(Byte value)
   {
      String retVal = Convert.ToString(value, 2);
      return new String('0', 8 - retVal.Length) + retVal;
   }
}
// The example displays the following output:
//       Original value: True
//       Binary value:   1 (00000001)
//       Restored value: True
//       
//       Original value: False
//       Binary value:   0 (00000000)
//       Restored value: False


부울 값을 사용 하 여 작업 수행

이 여기서 어떻게 부울 값을 보여 줍니다. 응용 프로그램에서 사용 됩니다. 첫 번째 섹션 플래그로 사용을 설명합니다. 두 번째 사용을 대 한 산술 연산 보여 줍니다.

a28wyd50.collapse_all(ko-kr,VS.110).gif부울 플래그 값

부울 변수 조건의 존재 여부를 알리기 위해 플래그를 가장 일반적으로 사용 됩니다. 예를 들어,의 String.Compare(String, String, Boolean) 메서드를 마지막 매개 변수 ignoreCase, 비교할 두 문자열의 대/소문자 구분 인지 여부를 나타내는 플래그 (ignoreCasetrue) 또는 대/소문자 구분 (ignoreCasefalse). 다음 조건문에서 플래그의 값을 계산할 수 있습니다.

다음 예제에서는 부울 변수 플래그를 사용 하는 간단한 콘솔 응용 프로그램을 사용 합니다. 응용 프로그램에서는 출력을 지정 된 파일로 리디렉션할 수 있도록 하는 명령줄 매개 변수 (해당 /f 전환), 출력 파일을 지정된 하 고 콘솔에 보낼 수 있도록 하 고 (의 /b 전환). 응용 프로그램 이라는 플래그가 정의 isRedirected 출력은 파일을 보낼 수 및 플래그 라는 여부를 나타내는 isBoth 을 콘솔에 출력을 보내야 한다고 나타냅니다.


using System;
using System.IO;
using System.Threading;

public class Example
{
   public static void Main()
   {
      // Initialize flag variables.
      bool isRedirected = false;
      bool isBoth = false; 
      String fileName = "";
      StreamWriter sw = null;

      // Get any command line arguments.
      String[] args = Environment.GetCommandLineArgs();
      // Handle any arguments.
      if (args.Length > 1) { 
         for (int ctr = 1; ctr < args.Length; ctr++) {
            String arg = args[ctr];
            if (arg.StartsWith("/") || arg.StartsWith("-")) {
               switch (arg.Substring(1).ToLower())
               {
                  case "f":
                     isRedirected = true;
                     if (args.Length < ctr + 2) {
                        ShowSyntax("The /f switch must be followed by a filename.");
                        return;
                     }
                     fileName = args[ctr + 1];
                     ctr++;
                     break;
                  case "b":
                     isBoth = true;
                     break;
                  default:
                     ShowSyntax(String.Format("The {0} switch is not supported", 
                                              args[ctr]));
                     return;
               }
            }   
         }
      }

      // If isBoth is True, isRedirected must be True.
      if (isBoth &&  ! isRedirected) { 
         ShowSyntax("The /f switch must be used if /b is used.");
         return;
      }

      // Handle output.
      if (isRedirected) {
         sw = new StreamWriter(fileName); 
         if (!isBoth)
            Console.SetOut(sw); 
      }     
      String msg = String.Format("Application began at {0}", DateTime.Now);
      Console.WriteLine(msg);
      if (isBoth) sw.WriteLine(msg);
      Thread.Sleep(5000);
      msg = String.Format("Application ended normally at {0}", DateTime.Now);
      Console.WriteLine(msg);
      if (isBoth) sw.WriteLine(msg);
      if (isRedirected) sw.Close();
   }

   private static void ShowSyntax(String errMsg)
   {
      Console.WriteLine(errMsg);
      Console.WriteLine("\nSyntax: Example [[/f <filename> [/b]]\n");
   }
}


a28wyd50.collapse_all(ko-kr,VS.110).gif부울과 산술 연산

부울 값을 수학적 계산을 트리거하는 조건이 있음을 표시 하기 위해 종종 사용 됩니다. 예를 들어, 한 hasShippingCharge 변수는 청구 금액에 배송료 추가 여부를 나타내는 플래그를 달성할 수 있습니다.

때문에 함께 작업 한 false 값에 영향을 주지 않습니다 부울 수학 연산자를 사용 하 여 정수 값으로 변환 하는 데 필요한 아니기 작업의 결과 대해. 대신, 조건부 논리를 사용할 수 있습니다.

다음 예제는 금액 부분합, 배송 비용 및 선택적 경우 서비스 요금을 계산 합니다. hasServiceCharge 변수 서비스 요금 적용 되는지 여부를 결정 합니다. 변환 하는 대신 hasServiceCharge 숫자 값 및 서비스 요금을 곱한 것 예제를 사용 하 여 조건부 논리 적용 가능한 경우 서비스 요금 금액을 추가 합니다.


using System;

public class Example
{
   public static void Main()
   {
      bool[] hasServiceCharges = { true, false };
      Decimal subtotal = 120.62m;
      Decimal shippingCharge = 2.50m;
      Decimal serviceCharge = 5.00m;

      foreach (var hasServiceCharge in hasServiceCharges) {
         Decimal total = subtotal + shippingCharge + 
                                (hasServiceCharge ? serviceCharge : 0);
         Console.WriteLine("hasServiceCharge = {1}: The total is {0:C2}.", 
                           total, hasServiceCharge);                       
      }
   }
}
// The example displays output like the following:
//       hasServiceCharge = True: The total is $128.12.
//       hasServiceCharge = False: The total is $123.12.


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 멤버는 스레드로부터 안전합니다. 인스턴스 상태를 수정하는 것처럼 보이는 멤버의 경우 실제로는 새 값으로 초기화되는 새 인스턴스를 반환합니다. 다른 모든 형식과 마찬가지로 이 형식의 인스턴스를 포함하는 공유 변수를 읽고 쓰는 작업은 스레드로부터 안전하도록 잠가서 보호해야 합니다.

커뮤니티 추가 항목

표시:
© 2014 Microsoft