3

私は次の方法を持っています:

    //returns -1 on failure
    public static int Add(
        string name, string email, string password, short defaultNumWeek)
    {
        KezberPMDBDataContext db = new KezberPMDBDataContext();
        Employee employee = new Employee 
        { 
            EmployeName = name,
            EmployeEmail = email,
            EmployePassword = password,
            DefaultNumWeek = defaultNumWeek
        };
        db.Employees.InsertOnSubmit(employee);
        try
        {
            db.SubmitChanges();
        }
        catch (Exception)
        {
            return -1;
        }

        return employee.EmployeID;
    }

最後のパラメーターはオプションであり、データベースではnullにすることができます。2つの別々のメソッドを作成せずにこれを行うにはどうすればよいですか?他にも単純ではないものがあります。基本型をnullとして渡すにはどうすればよいですか?

4

5 に答える 5

9

Nullableタイプを次のように使用します

public static int Add(
        string name, string email, string password, short? defaultNumWeek)

DefaultNumWeekEmployeeマストの特性もありNullableます。

于 2013-01-15T21:03:57.493 に答える
3
static void Bar(Nullable<short> s)
{

}

また

static void Bar(short? s)
{

}

前者は単なる省略形です。Nullable型の使用を参照してください。

于 2013-01-15T21:04:24.367 に答える
3

定義を次のように変更します。

public static int Add(
        string name, string email, string password, short? defaultNumWeek = null)

これにより、パラメータを省略して同じ関数を呼び出すことができdefaultNumWeekます。

于 2013-01-15T21:05:38.860 に答える
0

渡すだけで、nullの場合は使用しないでください。

于 2013-01-15T21:05:05.883 に答える
0

これはNullable型で処理できます。C#には、構造体タイプ(shortなど)に疑問符(?)を付けるエイリアスがあります。

これにより、nullと比較したり、値があるかどうかを確認したりできます。

于 2013-01-15T21:05:07.583 に答える