development

달러 기호 ($“string”) 란 무엇입니까?

big-blog 2020. 4. 15. 11:09
반응형

달러 기호 ($“string”) 란 무엇입니까?


이 질문에는 이미 답변이 있습니다.

나는 책에서 몇 가지 C # 연습을 겪어 왔고, 나는 나를 가로 지르는 예제를 보았습니다. 책에서 바로 출력 라인은 다음과 같이 표시됩니다.

Console.WriteLine($"\n\tYour result is {result}.");

이제는 서있는 것처럼 코드가 작동하고 double result예상대로 쇼가 나타납니다. 그러나 왜 $가 문자열 앞에 있는지 이해하지 못하고 제거하기로 결정했으며 이제 코드 {result}가 내용 대신 배열의 이름을 출력합니다 . 이 책은 불행히도 왜 $가 있는지 설명하지 않습니다.

문자열 형식 및 Console.WriteLine 오버로드 방법과 관련하여 VB 2015 도움말 및 Google을 검색했습니다. 왜 그것이 무엇인지 설명하는 것은 보이지 않습니다. 모든 조언을 부탁드립니다.


C # 6의 새로운 기능인이라고 Interpolated Strings합니다.

이를 이해하는 가장 쉬운 방법은 보간 된 문자열 표현식 이 포함 된 표현식을 표현식 결과 의 ToString 표현으로 대체하여 문자열을 작성하는 것 입니다.

이에 대한 자세한 내용은 MSDN을 참조하십시오 .

이제 그것에 대해 조금 더 생각해보십시오. 이 기능이 좋은 이유는 무엇입니까?

예를 들어 클래스가 있습니다 Point.

public class Point
{
    public int X { get; set; }

    public int Y { get; set; }
}

2 개의 인스턴스를 만듭니다.

var p1 = new Point { X = 5, Y = 10 };
var p2 = new Point {X = 7, Y = 3};

이제 화면에 출력하려고합니다. 일반적으로 사용하는 두 가지 방법 :

Console.WriteLine("The area of interest is bounded by (" + p1.X + "," + p1.Y + ") and (" + p2.X + "," + p2.Y + ")");

보시다시피, 이와 같은 문자열을 연결하면 코드를 읽기 어렵고 오류가 발생하기 쉽습니다. string.Format()더 좋게 만드는 데 사용할 수 있습니다 .

Console.WriteLine(string.Format("The area of interest is bounded by({0},{1}) and ({2},{3})", p1.X, p1.Y, p2.X, p2.Y));

이것은 새로운 문제를 만듭니다 :

  1. 인수의 수를 유지하고 색인을 직접 작성해야합니다.

이러한 이유로 새로운 기능을 사용해야합니다.

Console.WriteLine($"The area of interest is bounded by ({p1.X},{p1.Y}) and ({p2.X},{p2.Y})");

이제 컴파일러는 자리 표시자를 유지 관리하므로 문자열에 바로 배치하기 때문에 올바른 인수를 색인화 할 필요가 없습니다.

전체 게시물을 보려면 이 블로그 를 읽으십시오 .


문자열 보간

Perl과 같은 언어는 오랫동안 사용했던 개념이며 이제 C #에서도이 기능을 사용할 수 있습니다. String Interpolation에서는 단순히 문자열 앞에 $를 붙이는 것처럼 문자열 앞에 $를 붙입니다. 그런 다음 중괄호 (예 : {및})로 보간하려는 표현식을 간단히 둘러 쌉니다.

String.Format () 자리 표시 자와 비슷하게 보이지만 인덱스 대신 중괄호 안의 표현식 자체입니다. 실제로 String.Format ()처럼 보이는 것이 놀랍지 않아야합니다. 왜냐하면 컴파일러가 무대 뒤에서 String.Format ()처럼 취급하는 구문 설탕이기 때문입니다.

중요한 점은 컴파일러가 이제 자리 표시자를 유지 관리하므로 문자열에 바로 배치하기 때문에 올바른 인수를 인덱싱하는 것에 대해 걱정할 필요가 없다는 것입니다.

C # /. NET Little Wonders : C # 6의 문자열 보간에 대해 자세히 알아보십시오 .

참고 URL : https://stackoverflow.com/questions/32878549/whats-with-the-dollar-sign-string


반응형