티스토리 뷰

======================================================

안녕하세요 Doridori 입니다.


유튜브 영상을 한 2년정도 올리다 보니 시기에 따라 구독자분들 증가 추세가 눈에 들어오던데 


새해부터 개강이 시작되는 1~3월 까지가 가장 증가폭이 큰데 요즘 밖도 못나가고 개강도 늦어지고 하다 보니


구독해주시는 분들이 늘어난 듯 합니다. 


(천명 기점이라서 늘었나 싶기도 한데 시기가 시기라서 그런게 아닐까 합니다.)


다들 재개발의 기간으로 잡고 어려운 시기를 잘 보내면 이후에 열심히 한것 만큼 돌아오지 않을까 합니다. 


모두들 화이팅 이십니다.!!!

======================================================


43. 문자열 보간, 이스케이프 시퀀스

 

 

Source UI) Study_43_문자열보간 (UI).zip

Soruce 전체) Study_43_문자열보간.zip

교재) 43. 문자열 보간, 이스케이프 시퀀스.pdf









이번에 준비 한 내용은 문자열 보간(String interpolation)입니다. 


내용은 어려운 부분이라기 보다는 이런게 있다 라는 느낌으로 보시고 이런 기능이 있으니 사용해보면 좋겠다 라고 생각 하시면 좋을 것 같습니다. 


여태껏 뭔가 메세지 형태를 화면에 전달 할 때 String.Format를 자주 사용 하였는데 동일 한 기능이라고 보면 될 것 같습니다. 


똑같은 걸 왜 또 만들었냐 라고 하신다면 


개인적인 생각은 도태 되지 않으려면 뭔가 개발은 해야 되겠고 그럼 불편 했던 부분이라던지 뭔가 더 편하게 사용 할 수 있어야 하니 이런식으로 만들어 진것이 아닐까 합니다. 


기존에 사용 하던 String.Foramt을 없애면 문제가 될 테니 남겨 놓고 똑같이, 하지만 편하게 사용 할 수 있도록 하자~! 라는 느낌을 받았습니다. 





하다보니 이스케이프 시퀀스 라는 것도 하게 되었는데 간단 하게 생각 하면 특수문자 같은걸 사용 하는 예약 기호 같은 거라고 생각 하시면 될것 같습니다.  (@의 경우 그 예약 기호를 무시하는 기능 정도로 생각하시면 될것 같습니다.)



이번 강의 부터는 간단한 화면은 별도로 강의에 포함 시키지 않았습니다. 


(새로운 컨트롤을 사용하거나 할때에는 추가를 할 예정 입니다.)


아주 많이 사용하는 기본 컨트롤 들로 구성되어 있으니 화면을 보고 만들어보셔도 될것 같고 아니면 위에 올려놓은 UI 파일을 받으셔서 바로 진행 하셔도 될듯 합니다. 


(강의에는 UI 파일을 가지고 시작 하였습니다.)


20분 정도 줄어든것 같네요 ^^;;;






강의)


UI 부분을 뺏는데도 45분이 넘네요.;;


내용도 별내용이 없는것 같은데 이거 하다 보니 TMI만 늘어나는 듯 합니다. 


근데 TMI를 좋아해주시는 분들도 . . . ㅎㅎ;;; (이런저런 애기가 나와서 좋다는 애기를 들은 것 같은건 저의 착각일까요? 바램 일까요 ㅎㅎ;;)






Source)


정말 별내용이 없습니다. 


String.Format과 문자열 보간법을 비교해 보았는데 결국 같은 기능이기 때문에 결과는 같다 라는 내용들 입니다. 


개인적으로 장단점이 있는 듯 하긴 합니다만 확실히 익숙해 지면 사용은 더 편하지 않을까 합니다. 



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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace 문자열보간
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btn1_Click(object sender, EventArgs e)
        {
            string S1 = tbox1Value1.Text;
            string S2 = tbox1Value2.Text;
 
            // He is a Teacher
 
            //string StrValue0 = S1 + " is " + S2;  // 속도 : strValue0 > strValue1 = strValue2
 
            string strValue1 = String.Format("{0} is {1}", S1, S2);
            lboxStringFormat.Items.Add(strValue1);
            //lboxStringFormat.Items.Add(String.Format("{0} is {1}", S1, S2));
 
            string strValue2 = $"{S1} is {S2}";
            lboxStringInterpolation.Items.Add(strValue2);
        }
 
        private void btn2_Click(object sender, EventArgs e)
        {
            DateTime dt = dtPicker.Value;
 
            lboxStringFormat.Items.Add(String.Format("오늘은 {0:yyyy-MM-dd} 입니다.", dt));
            lboxStringInterpolation.Items.Add($"오늘은 {dt:yyyy-MM-dd} 입니다.");
        }
 
        private void btn3_Click(object sender, EventArgs e)
        {
            int i1 = (int)num1.Value;
            int i2 = (int)num2.Value;
 
            int iBigCount = (i1 > i2) ? i1 : i2;
 
            lboxStringFormat.Items.Add(String.Format("{0}, {1} 중 큰 수는 {2} 이다.", i1, i2, iBigCount)); //(i1 > i2) ? i1 : i2));
            lboxStringInterpolation.Items.Add($"{i1}, {i2} 중 큰 수는 {((i1 > i2) ? i1 : i2)} 이다.");
        }
 
        private void btn4_Click(object sender, EventArgs e)
        {
            string strValue = "str";
 
            lboxStringFormat.Items.Add(String.Format("{{{0}}}", strValue));
            lboxStringInterpolation.Items.Add($"{{{strValue}}}");
        }
 
        private void btn5_Click(object sender, EventArgs e)
        {
            string strValue = tbox5Value.Text;
 
            lboxStringFormat.Items.Add(String.Format("대문자 변환 : {0}", strValue.ToUpper()));
            lboxStringInterpolation.Items.Add($"대문자 변환 : {strValue.ToUpper()}");
        }
 
        private void btn6_Click(object sender, EventArgs e)
        {
            string strValue1 = "S1) C:\\Users\\사용자\\Desktop\\문자열보간(실습)\\문자열보간 \r\n TEST";
 
            string strValue2 = @"S2) C:\Users\사용자\Desktop\문자열보간(실습)\문자열보간 
TEST";
            
            tbox6Value.Text = strValue1 + "\r\n \r\n"+ strValue2;
        }
 
        private void btn7_Click(object sender, EventArgs e)
        {
            string strR1 = "Test1";
            string strR2 = "Test2";
 
            /*
            string strQuery = "Select " + 
                              "ROW_1, " +
                              "ROW_2, " +
            */
 
            string strQuery = $@"Select 
                                    ROW_1,
                                    ROW_2
                                 From
                                    TB_TABLE
                                 Where 
                                    ROW_1 = {strR1}
                                    AND ROW_2 = {strR2}";
 
            tbox7Value.Text = strQuery;            
        }
    }
}
 
cs




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함