[C# 문법] Object[] 형식 -> String[] 형식으로 형변환(Casting) 하는 방법



 

안녕하세요~~

 

오늘은 C#에서 Object[] 형식을 String[] 형식으로 형변환 하는 방법에 대해서 알려드리고자 합니다.

 

DataTable을 사용하시다 보면 종종 Object[] 형식으로 변수를 선언하여 DataTable의 특정 컬럼을 저장하는 경우가 있습니다.


 

위의 경우를 예를 들어서 코드를 작성해 보도록 하겠습니다.

 

예제 코드


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace test22

{

    class Program

    {

        static void Main(string[] args)

        {

            DataTable dt = new DataTable();

 

            dt = GetTable();

 

            object[] obj = dt.Select().Select(x => 

x["Name"]).ToArray();

            string[] names = Array.ConvertAll(obj, 

=> (p ?? String.Empty).ToString());

 

            for(int idx = 0; idx < names.Length; idx++)

            {

                Console.WriteLine("이름 : {0}", names[idx].ToString());

            }

        }

        

        public static DataTable GetTable()

        {

            //DataTable 생성

            DataTable dt = new DataTable("Student");

 

            //Column 생성

            DataColumn col1 = new DataColumn();

            col1.DataType = System.Type.GetType("System.String");

            col1.ColumnName = "Name";

            dt.Columns.Add(col1);

 

            //Table   넣기

            DataRow dr1 = dt.NewRow(); //row 생성

            dr1["Name"= "범범조조";

 

            DataRow dr2 = dt.NewRow(); //row 생성

            dr2["Name"= "안정환";

 

            DataRow dr3 = dt.NewRow(); //row 생성

            dr3["Name"= "류현진";

 

            DataRow dr4 = dt.NewRow(); //row 생성

            dr4["Name"= "이동휘";

 

            dt.Rows.Add(dr1);

            dt.Rows.Add(dr2);

            dt.Rows.Add(dr3);

            dt.Rows.Add(dr4);

 

            return dt;

        }     

    }

}

 

Colored by Color Scripter

cs

 

위의 코드를 간략히 설명을 드리자면, 반환형이 DataTableGetTable() 메서드를 하나 만들고 메서드 안에는 하나의 “Student” 이름을 가진 DataTable을 만들어서 해당 테이블을 Object[] 변수에 저장을 하고, Obejct[] 변수에 저장된 내용들을 다시 String[] 형식으로 Casting하여 출력하는 예제 코드 입니다.


실행 결과



 

실행 결과를 보시게 되면, DataTable에 저장되어있는 Name의 값들이 Object[] 형식에서 String[] 형식으로 제대로 Casting되어 문자로 알맞게 출력 되는 것을 확인하실 수 있습니다.

 

이로써, Object[] 형식에서 String[] 형식으로 형변환 하는 방법에 대해서 알아 보았습니다.

 

감사합니다ㅎㅎ


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY