【问题标题】:ToArray and ToString return (unit -> string), not string. What should I do?ToArray 和 ToString 返回(单位 -> 字符串),而不是字符串。我该怎么办?
【发布时间】:2021-10-21 00:16:40
【问题描述】:

注意事项

我目前遇到函数“ToString”返回(单元 -> 字符串)类型而不是字符串,以及“ToArray”返回(单元 -> 字符串 [])而不是字符串 [] 的问题。尝试向上转换为 string[] 或 string 没有成功。

代码如下:

let readZip filepath = ZipFile.OpenRead filepath
let replaceEnvs str = Environment.ExpandEnvironmentVariables str

let listFiles rawDir =
    replaceEnvs rawDir
    |> Directory.EnumerateFiles

let readModMetadata filepath =
    let archive = readZip filepath
    (archive.GetEntry "mcmod.info").ToString    // Also becomes (unit -> string) and not string

[<EntryPoint>]
let main args =
    let mods = listFiles modsFolder
    let modAsArray = mods.ToArray   // Becomes (unit -> string[]) and not string[]?
    0

为什么会这样,有没有办法只获取字符串?

【问题讨论】:

    标签: string f#


    【解决方案1】:

    所以我发现了。

    您需要指定没有参数进入函数。 ToString() 中的括号就是这样做的,因为它们区分了返回函数和返回结果。 我需要更多的咖啡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多