Инициализация массива в F#

Все остальные уже упомянули, что у Вас может только быть единственный элемент формы на данной странице ASP.NET, и что это содержалось бы в основной странице. Пока неплохо. Но я не думаю, что это помогает Вам добраться полностью, где Вы хотите быть...

На Ваших основных страницах, Вы имеете (я принимаю!) определил asp:ContentPlaceHolder средства управления. Ваши страницы, которые используют ведущее устройство тогда, имеют соответствующий asp:Content теги. Все Ваше содержание страницы должно войти в это соответствие asp:Content теги.

Однажды в том теге, они - часть формы основной страницы. Основная страница может ответить на события от своих собственных средств управления, и сами страницы отвечают на события от своих собственных средств управления, и Вы установлены.

при необходимости в странице для взаимодействия с основной страницей, можно получить доступ к нему через Page.Master свойство. Для взаимодействия с любым публично видимым кодом (методы, свойства, и т.д.) от основной страницы, Вы бросили это свойство к корректному типу и получаете доступ к публично видимому коду оттуда.

, Который должен получить Вас, где необходимо быть в этом сценарии. (Это работало на меня на нескольких сайтах!)

6
задан 12 July 2009 в 04:16
поделиться

3 ответа

This should do what you need. Hope it helps.

type record1 = {
  value1:string;
  value2:string
}

let myArray  = Array.init 100 (fun x -> {value1 = "x"; value2 = "y"})

or using Generics

let myArray  = Array.init<record1> 100 (fun x -> {value1 = "x"; value2 = "y"})
11
ответ дан 8 December 2019 в 04:54
поделиться

You can use also Array.create, which creates an array of a given size, with all its elements initialized to a defined value:

let myArray  = Array.create 100 {value1="x"; value2="y"}

Give a look to this list of array operations.

11
ответ дан 8 December 2019 в 04:54
поделиться

Или вы можете создать последовательность вместо создания массива, например:

// nItems, given n and an item, returns a sequence of item repeated n times
let rec nItems n item = 
  seq {
    match n with
    | n when n > 0 -> yield item; yield! nItems (n - 1) item
    | _ -> ()
  }

type Fnord =
 { foo: int }

printfn "%A" (nItems 99999999 {foo = 3})
// seq [{foo = 3;}; {foo = 3;}; {foo = 3;}; {foo = 3;}; ...]

printfn "%A" (nItems 3 3 |> Seq.toArray)
[|3; 3; 3|]

Самое приятное в последовательности, а не в массиве, заключается в том, что она создает элементы по мере необходимости , а не все сразу. И при необходимости легко переходить между последовательностями и массивами.

2
ответ дан 8 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: