arr =
// как матчить все аргументы типа 'T array
if arr.GetType() = typeof<array<_>>
then (arr.GetType(), true)
else (arr.GetType(), false)
[<EntryPoint>]
let main argv =
printfn "Results"
let arr1 : string array = [|"1"; "2"; "3"|]
let arr2 : int array = [|1; 2; 3|]
printfn "%A" (fu arr1)
printfn "%A" (fu arr2)
0
// Results
// (System.String[], false)
// (System.Int32[], false)
как сделать, чтобы в обоих случаях вернулось true?
let fu arr = let arrType = arr.GetType() (arrType, arrType.IsArray)
спасибо это проще, чем я думал)
ещё один вопрос — как получить тип элементов массива тогда ? в том месте где typeof<int>
Обсуждают сегодня