Не совсем ясно, является ли ваш вопрос о том, как написать тип словаря, который вы хотите, или вы спрашиваете, как создать значение этого типа. Карта является универсальным типом Map<'K, 'V>
, очень похожим на тип словаря, поэтому, чтобы написать тип, который вы используете:
Dictionary<string, Map<string, Dictionary<int64, int64 * float>>>
Чтобы создать значение, вы можете написать полный тип, или выможет использовать тот факт, что F # может часто выводить аргументы типа для вас, и поэтому вы можете заменить их на _
. Например:
let map =
Map [
"A", new Dictionary<int64, int64 * float>()
"B", new Dictionary<int64, int64 * float>()
]
let a = new Dictionary<_, _>(dict ["first", map])
Я бы также добавил, что словарь карт словарей довольно непонятный тип. Вероятно, было бы неплохо извлечь некоторые из них в простые именованные классы, которые передают некоторое представление о значении типа.