728x90
반응형

암시적 데이터형 var

 

  • 대입되는 데이터에 따라 데이터형 결정

 

  • var를 사용할 수 없는 예

  1. null 값 초기화, 매개변수로는 사용 못한다.

  2. var는 지역변수로만 사용할 수 있고 클래스 멤버로는 사용 하지못한다.

  3. 연속적으로 초기화 하는 경우 var = 10, n =20; 사용 하지못한다.

3-8 예제) [var] var형 변수에 데이터가 분명한 값으로 선언과 초기화를 한 후에 두 값을 더한 결과를 출력

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            var value1 = 3.14f; // f가 없으면 double형 있으면 float형
            float value2 = 10.12f;
            float sum = value1 + value2;
            Console.WriteLine("{0} {1:f2} {2}", value1, value2, sum); //f2: 소수점 둘째자리
            // value1 = 3.14, value2 = 10.0, sum = 13.14
        }   
    }
}

 

 

nullable 형 (값을 저장하는 데이터형)

 

  • null을 허용하지 않는 데이터형이 null값을 허용

 

  • 형식

데이터형? 변수명;
int? Var1; // ?는 null을 표시, null이라는 값을 저장할 수 있다.
bool? Var2 = null; // true, false, null  // null은 계산할 때 사용할 수 없다.

 

  • 속성

.HasValue // true, false  // 값이 저장되어 있으면 true, mull이 저장되어있으면 false
.Value    // 읽기 전용

 

  • nulable 형을 선언하고 판독(비교)해 보자

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            int? Num1 = null; // num1에 null값을 저장
            
            if (Num1.HasValue)
                Console.WriteLine("올바른 값");
            else
                Console.WriteLine("null 값");

            Console.WriteLine("null : {0}",  Num1); 
            // null값은 정의되지 않은 값이기 때문에 어떤 값으로도 출력이 되지않는다.
        }
    }
}

 

02. 변환


  • ToString()

      현재의 값을 문자열로 바꿔주는 함수

 

  • 기본 데이터형.Parse()         

      (기본데이터: int,float 등등 , parse(): 괄호안에 문자열을 넣어서 기본데이터로 변환할 수 있다)

 

  • Convert.Toint32()

  • Convert.ToSingle() // float

  • Convert.ToXXXXX()

예제)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {      
            // 127을 문자열로 바꿔보자
            int value1 = 127;
            string str1 = value1.ToString();
            Console.WriteLine(str1);

            int value2 = Convert.ToInt32(str1); // 문자열 127이 저장되어있음
            Console.WriteLine(value2);

            string str2 = "3.14"; // "숫자" : 문자열
            float value3 = float.Parse(str2);
            Console.WriteLine(value3);
        }
    }
}

728x90
반응형

+ Recent posts