Q:

Como armezar checkbox selecionados em um array em c#

Olá, sou novo em desenvolvimento em c# e tenho em meu formulário uma opção para seleção de frutas
Uva[]
Pera[x]
Maça[]
Banana[x]
Como eu poderia armazenar em um array apenas os checkbox selecionados?

A:

Neste caso pode usar um CheckboxList e navegar pelas opções(Items) verificando qual está selecionando. No exemplo coloquei 2 das 4 opções marcadas e usei LINQ para percorrer todas e adicionar em um array somente as selecionadas:
HTML
<form id="form1" runat="server">
    <div>
        <asp:CheckBoxList ID="ckbFrutas" runat="server">
            <asp:ListItem Selected="True" Value="1">Uva</asp:ListItem>
            <asp:ListItem Value="2">Pêra</asp:ListItem>
            <asp:ListItem Selected="True" Value="3">Maça</asp:ListItem>
            <asp:ListItem Value="4">Banana</asp:ListItem>
        </asp:CheckBoxList>
    </div>
</form>

C#
protected void Page_Load(object sender, EventArgs e)
{
    //LINQ
    ListItem[] selected2 = ckbFrutas.Items.Cast<ListItem>().Where(li => li.Selected).ToArray();
}

Como não sei em qual evento esta fazendo isso coloquei no Page_Load mesmo apenas para demonstrar. Se preferir usar um foreach normal ao invés de LINQ e caso as opções do CheckboxList estejam sendo preenchidas de forma dinâmica(a quantidade pode variar), use uma estrutura de lista(List) ao invés de array para não precisar fazer o resize o tempo todo.

Para capturar o valor pegue o "Value":
//LINQ
List<string> selected2 = ckbFrutas.Items.Cast<ListItem>().Where(li => li.Selected).Select(li => li.Value).ToList();

Ou:
foreach (ListItem item in ckbFrutas.Items)
{
    if (item.Selected)
    {
       string selectedValue = item.Value;
    }
}

Veja que no caso que mostrei ele vai retornar os valores "1" e "3"

