将string.format写在多行上

时间:2016-01-08 20:47:48

标签: c#

$d00m = file_get_contents('named.txt');
foreach ($d00m as $dom) {
    preg_match_all('#zone "(.*)"#', $dom, $domsws);
    $site = $domsws[0];
}
echo "$site";

我如何改变这一点,以便每个标题写在一个单独的行上,因此名称在第1行,DOB第2行,性别第3行等?

5 个答案:

答案 0 :(得分:2)

多行字符串文字。使用" at"进行前缀。 sign,{% with form|with_submit:"SendTransfer,Send Transfer,{{ object.id }}" as submit_form %} {% crispy submit_form %} {% endwith %} ,您可以在字符串本身中添加实际换行符。比@更具可读性。

\r\n

答案 1 :(得分:1)

我建议您使用Environment.NewLine,因为您可以在不同的运行时信任它

return String.Format("Name : {1}{0}Date Of Birth : {2: dd/MM/yyyy}{0}Gender : {3}{0}Telephone : {4}",
    Environment.NewLine, _name, _dob, _gender, _tel);

答案 2 :(得分:1)

我会采用这种方法:

public override string ToString()
{
    var nl = Environment.NewLine;
    return
        $"Name : {_name}{nl}"
        + $"Date Of Birth : {_dob:dd/MM/yyyy}{nl}"
        + $"Gender : {_gender}{nl}"
        + $"Telephone : {_tel}";
}

或者,如果你认为它更清楚:

public override string ToString()
{
    return
        $"Name : {_name}{Environment.NewLine}"
        + $"Date Of Birth : {_dob:dd/MM/yyyy}{Environment.NewLine}"
        + $"Gender : {_gender}{Environment.NewLine}"
        + $"Telephone : {_tel}";
}

答案 3 :(得分:0)

使用\r\n回车符和换行符。

public override string ToString() 
{ 
    return String.Format("Name : {0}\r\nDate Of Birth : {1: dd/MM/yyyy}\r\nGender : {2}\r\nTelephone : {3}", _name, _dob, _gender, _tel); 
}

答案 4 :(得分:0)

好吧,C#中有一种新方法 它非常易读,易于实现; 您应该在双倍整数前添加一个美元符号($):

return $"Name : {_name}\r\nDate Of Birth : {_dob}\r\nGender : {_gender}\r\nTelephone : {_tel}";