System.Environment.NewLine;

2021. 7. 15. 22:54
728x90

쿼리문(sql)을 작성하다가 끝에 \n 또는 \n\r 또는 Environment.NewLine 을 붙여주면 디버깅할 때 어떤 쿼리문인지 알 수가 있다. 즉, 가독성 좋은 소스코드를 작성할 때 필요한 이스케이프문이라고 볼 수 있다.

하지만 매번 소스코드에서  sql += "..." + Environment.NewLine;  을 작성하는게 귀찮지않나? 특히나 코드가 점점 길어진다면 매번 끝에 저걸 작성하는 것도 일이다. 함께 일하는 동료 개발자나 본인을 위해서라도 가독성 좋은 소스코드를 작성하는게 좋을 것이다. 

클래스 파일을 따로 만들어서 거기에 아래와 같은 소스코드를 먼저 작성하고 저장한다 :

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

namespace DemoApplication08
{
    public static class E
    {
        public static readonly string NL = System.Environment.NewLine;
    }
}

/* 클래스명과 변수명은 본인이 원하는 걸로 지정할 수 있음 */

그리고나면 우리는 메인 폼에서 해당 클래스 파일에 접근할 수 있게 된다.

 

 [ BEFORE ] 

Con_Database db = new Con_Database();
db.Open();

string sql = "";
sql += "SELECT CustomerID, " + Environment.NewLine;
sql += "       CompanyName, " + Environment.NewLine;
sql += "       ContactName, " + Environment.NewLine;
sql += "       substring(ContactName, 0, 3) AS NM, " + Environment.NewLine;
sql += "       ContactTitle, " + Environment.NewLine;
sql += "       Country" + Environment.NewLine;
sql += "  FROM Customers" + Environment.NewLine;
sql += " WHERE CustomerID = '" + tbCID.Text.ToString() + "' " + Environment.NewLine;
sql += " ORDER BY CustomerID " + Environment.NewLine;

DataSet ds = db.GetDataSet(sql);
db.Close();

 

 [ AFTER ] 

Con_Database db = new Con_Database();
db.Open();

/* 클래스 E의 변수 NL을 사용 */

string sql = "";
sql += "SELECT CustomerID, " + E.NL;
sql += "       CompanyName, " + E.NL;
sql += "       ContactName, " + E.NL;
sql += "       substring(ContactName, 0, 3) AS NM, " + E.NL;
sql += "       ContactTitle, " + E.NL;
sql += "       Country" + E.NL;
sql += "  FROM Customers" + E.NL;
sql += " WHERE CustomerID = '" + tbCID.Text.ToString() + "' " + E.NL;
sql += " ORDER BY CustomerID " + E.NL;

DataSet ds = db.GetDataSet(sql);
db.Close();

// 또는 아래와 같은 방법으로도 사용 가능!
MessageBox.Show("My first line here" + E.NL + "My second line here");

 

이상, 개발할 때 유용한 꿀팁 포스팅을 마치도록 하겠다 :)

728x90

'C# > Visual C# 코드 리뷰' 카테고리의 다른 글

Xtrareport 연동  (0) 2021.07.29
C#으로 DB 연결  (0) 2021.07.29
XML Schema 파일 생성 방법  (0) 2021.07.15
폼 간 데이터 전송 방법  (1) 2021.06.17
Visual Studio 2017  (0) 2021.06.11

BELATED ARTICLES

more