4

ユーザーが同じ「codigo」(id) を TextBox に入力するという条件を満たす 1 つの「ベンダー」(セールスマン) を探すために、このコードを書きました。

using (TccContext context = new TccContext())
{
    Vendedor[] query = (from vendedor in context.Vendedores
                where vendedor.codigo == Convert.ToInt64(this.textBoxProcurarCodFuncionario.Text)
                select vendedor).ToArray();
    if (query.Length == 1)
    {
        textBoxCodigo.Text = query[0].codigo.ToString();
        textBoxNome.Text = query[0].nome;
        textBoxTotalVendaMensal.Text = query[0].totalVendaMensal.ToString();
    }
    else
    {
        MessageBox.Show("Código não encontrado,\n tente novamente...",
            "Atualizar Funcionário",
            MessageBoxButtons.OK,
            MessageBoxIcon.Error);
        this.Limpar();
    }
}

SingleOrDefault の ToArray メソッドを置き換えたいのですが、行き詰まりました:

シーケンスの唯一の要素を返します。シーケンスが空の場合はデフォルト値を返します。シーケンスに複数の要素がある場合、このメソッドは例外をスローします。

この場合、ドキュメントに記載されている「デフォルト値」とは何でしょう。この「例外」を処理できるようにしたいのですが、それが何であるかわかりませんか?

誰かがこの「デフォルト値」とは何かを説明できますか? Entity Framework を使い始めたばかりなので、あまり苦労しないでください。

前もって感謝します。

4

4 に答える 4

1

null 許容型の場合、デフォルトは null になります。

整数の場合は 0 で、他のすべての数値も同様だと思います。ドキュメントを見つけることができるかどうかを確認します...

「参照型と null 許容型の既定値は null です。」

http://msdn.microsoft.com/en-us/library/bb342451.aspx

于 2013-08-25T19:23:32.580 に答える
0

null 許容型の場合は null であり、整数の場合は 0 です。

ここから:-

参照型と null 許容型の既定値は nullptr です。

SingleOrDefault メソッドは、既定値を指定する方法を提供しません。default(TSource) 以外のデフォルト値を指定する場合は、DefaultIfEmpty(IEnumerable, TSource) を使用します。

于 2013-08-25T19:24:25.687 に答える