2012-08-01 29 views
11

在C#中內嵌大串,我可以使用:如何寫F#

string myBigString = @" 

<someXmlForInstance> 
    <someChild /> 
</someXmlForInstance> 

"; 

如何做到這一點在F#?

回答

13

在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

如果以@符號開頭,則文字是逐字字符串。這意味着任何轉義序列都被忽略,除了兩個引號字符被解釋爲一個引號字符。

來源:Strings (F#)