문자열 처리 @$ 개행

@$ 문자열 안에 개행이 있을때

예를 들어

public class A
{
    public void Foo()
    {
        string message = 
@$"X : {xPos}
Y : {yPos}";
    }
}

요런 코드가 있을때 저 메세지의 내용을 들여쓰기에 맞게 쓰는 방법이 있을까요?

2개의 좋아요
string message =$@"\tX: {{xpos}}
\tY: {{ypos}}
";

요거 한번 해보시겠습니까!

2개의 좋아요

아… 질문이 모호했나 보네요.

제가 원한건

public class A
{
    public void Foo()
    {
        string message = @$"X : {xPos}
                            Y : {yPos}";
    }
}

요런 코드를 써도 출력은

X : 100
Y : 100

이렇게 나오길 바라는 건데
실제로 위처럼 작성하면

X : 100
                   Y : 100

이렇게 나오게 되죠.
생각해보니 저게 될수가 없더라구요.

제 생각엔 안되는건데… 혹시나 제가 모르는 마법이 있나 해서 문의 드렸습니다.

2개의 좋아요
string message = @$"X : {xPos}
                    Y : {yPos}".Trim();

그렇다면…Trim() 마법을 써보시는건…?어떨까요

1개의 좋아요

“”" 는 어떤가요?

9개의 좋아요
public class A
{
    public void Foo()
    {
        string message = 
@$"X : {xPos}\nY : {yPos}";
    }
}

이렇게하면 안되나요?

3개의 좋아요

& # 10 ;
그냥 타이핑 했더니 유니코드 변환되서 안보이네요

이건 유니코드인데 줄바꿈 기호입니다, xaml같은 경우 사용하면 편리합니다

3개의 좋아요

아마 C# 코드에 가독성 때문에 일부러 저렇게 하신거같아요 :slight_smile:

2개의 좋아요

""" 방식을 사용해보세요.

public class A
{
    public void Foo()
    {
        double xPos = 0.0;
        double yPos = 0.0;
        string message = $"""
        X : {xPos}
        Y : {yPos}
        """;
    }
}
7개의 좋아요

와… 이건 첨 봤네요. 이게 되네요…

1개의 좋아요