在 C# 中,我可以使用:
string myBigString = @"
<someXmlForInstance>
<someChild />
</someXmlForInstance>
";
如何在 F# 中执行此操作?
在 F# 3.0 VS 2012 中,添加了对三引号字符串的支持。
在三引号字符串中,三引号 ("""...""") 之间的所有内容都保持逐字记录;根本没有逃避。因此,如果我想将一些 XAML 作为字符串文字,这很容易:
let xaml = """
<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="mainPanel">
<Border BorderThickness="15.0" BorderBrush="Black">
<StackPanel Name="stackPanel1">
<TextBlock Text="Super BreakAway!" FontSize="24" HorizontalAlignment="Center" />
<TextBlock Text="written in F#, by Brian McNamara - press 'p' to pause"
FontSize="12" HorizontalAlignment="Center" />
<Border BorderThickness="2.0" BorderBrush="Black">
<Canvas Name="canvas" Background="White" />
</Border>
</StackPanel>
</Border>
</StackPanel>"""
如果前面有 @ 符号,则文字是逐字字符串。这意味着任何转义序列都将被忽略,除了两个引号字符被解释为一个引号字符。
来源:字符串(F#)
尝试一下:
let str1 = "abc
def"
let str2 = "abc\
def"
有关详细信息,请参阅:http: //msdn.microsoft.com/en-us/library/362314fe.aspx