错误 FS0001:应为字符串类型,但类型为 char
Error FS0001: Expected to have type string, but has type char
我是编程新手,这是我第一次使用 .NET 语言,所以如果这个问题听起来真的我提前道歉 stupid/trivial。
以下是我的代码的相关片段:
let isInteger (element: string) =
let success, result = Int32.TryParse(element)
if success then Some(result)
else None
let removeUnnecessaryInfo (someString: string) =
if isInteger someString.[-1] <> None then
someString.Remove(-2, 2)
else
someString.Remove(-1, 1)
但是,当我尝试在 F# Interactive 中 运行 它时,我收到了以下消息:
"DuplicateFileFinder.fsx(15,22): error FS0001: This expression was expected to have type
string
but here has type
char
即,"someString.[-1]" 被归类为具有 char 类型,这就是为什么 isInteger someString.[-1] 失败的原因。
请给我一些提示,告诉我可以进行哪些更改以使代码正常工作。提前致谢!
一种方法是将 if
更改为
if isInteger (someString.[-1] |> string) <> None then
我是编程新手,这是我第一次使用 .NET 语言,所以如果这个问题听起来真的我提前道歉 stupid/trivial。
以下是我的代码的相关片段:
let isInteger (element: string) =
let success, result = Int32.TryParse(element)
if success then Some(result)
else None
let removeUnnecessaryInfo (someString: string) =
if isInteger someString.[-1] <> None then
someString.Remove(-2, 2)
else
someString.Remove(-1, 1)
但是,当我尝试在 F# Interactive 中 运行 它时,我收到了以下消息:
"DuplicateFileFinder.fsx(15,22): error FS0001: This expression was expected to have type string
but here has type char
即,"someString.[-1]" 被归类为具有 char 类型,这就是为什么 isInteger someString.[-1] 失败的原因。
请给我一些提示,告诉我可以进行哪些更改以使代码正常工作。提前致谢!
一种方法是将 if
更改为
if isInteger (someString.[-1] |> string) <> None then