C # 6에는 보간 된 문자열이라는 새로운 기능이 있습니다.
이를 통해 인덱스에 의존하지 않고 표현식을 코드에 직접 넣을 수 있습니다.
string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());
된다 :
string s = $"Adding \"{x}\" and {this.Y()} to foobar.";
그러나 다음과 같이 완전 문자열 (주로 SQL 문)을 사용하여 여러 줄에 걸쳐 많은 문자열이 있습니다.
string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
이것을 일반 문자열로 되 돌리는 것은 지저분 해 보입니다.
string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
축약 형 문자열과 보간 된 문자열을 함께 사용하려면 어떻게합니까?
3
실제로 SQL 문자열에 관한 것이라면 매개 변수화 된 쿼리를 대신 사용하지 않는 이유가 있습니까?
—
svick
"주문형 문자열 (주로 SQL 문)을 사용하여 여러 줄에 걸쳐 많은 문자열이 있습니다."SQL 주입 공격을 가능하게하는 많은 SQL 문자열이있는 것처럼 들립니다.
—
Cetin Basoz
@svick 우리는 모든 사용자 입력이 매개 변수화됩니다. 코드에서 엔티티에 대한 SQL을 동적으로 작성하므로 여전히 동적 SQL을 많이 사용합니다.
—
Keith
@CetinBasoz 우리는하지 않습니다-모든 사용자 입력이 매개 변수화됩니다. 동적 SQL이있는 환경이 많이 있습니다 (예 : LINQ 또는 기타 객체 매핑 프레임 워크).
—
Keith