Warum arbeitet printfn von F # mit Literalzeichenfolgen, aber nicht mit Werten vom Typ Zeichenfolge?

Im folgenden F # Code; Ich würde das erwartenprintfn wird dreimal gerufen; jeweils mit einer schnur. Die unterste Zeile wird jedoch nicht kompiliert (The type 'string' is not compatible with the type 'Printf.TextWriterFormat<'a>').

Was ist mit den ersten beiden Zeilen, was bedeutet, dass dies funktionieren kann? Sind sie nicht auch nur Saiten?

open System

printfn ("\r\n") // Works
printfn ("DANNY") // Works
printfn (DateTime.Now.ToLongTimeString()) // Doesn't compile

Antworten auf die Frage(2)

Ihre Antwort auf die Frage