在C#中我可以使用:
string myBigString = @"
<someXmlForInstance>
<someChild />
</someXmlForInstance>
";
如何在F#中执行此操作?
答案 0 :(得分:14)
在F#3.0,VS 2012中,为triple-quoted strings添加了支持。
在三引号字符串中,三引号之间的所有内容(“”“......”“”) 是逐字记录的;根本没有逃脱。结果,如果我想 有一点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>"""
答案 1 :(得分:1)
如果以@符号开头,则文字是逐字字符串。这意味着忽略任何转义序列,除了两个引号字符被解释为一个引号字符。
来源:Strings (F#)
答案 2 :(得分:1)
尝试:
let str1 = "abc
def"
let str2 = "abc\
def"
有关更多信息,请参阅: http://msdn.microsoft.com/en-us/library/362314fe.aspx