-5

私は日付の変換に取り組んHijriでいます。Gregorianただし、次のNullReferenceExceptionエラー メッセージが表示されます。

オブジェクト参照がオブジェクト インスタンスに設定されていません。

pprivate HttpContext cur;

    private const int startGreg=1900;
    private const int endGreg=2100;
    private string[] allFormats={"yyyy/MM/dd","yyyy/M/d",
        "dd/MM/yyyy","d/M/yyyy",
        "dd/M/yyyy","d/MM/yyyy","yyyy-MM-dd",
        "yyyy-M-d","dd-MM-yyyy","d-M-yyyy",
        "dd-M-yyyy","d-MM-yyyy","yyyy MM dd",
        "yyyy M d","dd MM yyyy","d M yyyy",
        "dd M yyyy","d MM yyyy"};
    private CultureInfo arCul;
    private CultureInfo enCul;
    private HijriCalendar h;
    private GregorianCalendar g;

    public void Dates()
    {
        cur = HttpContext.Current;


        arCul=new CultureInfo("ar-SA");
        enCul=new CultureInfo("en-US");

        h=new  HijriCalendar();
        g=new GregorianCalendar(GregorianCalendarTypes.USEnglish);

        arCul.DateTimeFormat.Calendar=h;

    }

    public string HijriToGreg(string hijri)
    {

        if (hijri.Length<=0)
        {

            cur.Trace.Warn("HijriToGreg :Date String is Empty");
            return "";
        }
        try
        {

            DateTime tempDate=DateTime.ParseExact(hijri,allFormats,
               arCul.DateTimeFormat,DateTimeStyles.AllowWhiteSpaces);
            return tempDate.ToString("yyyy/MM/dd",enCul.DateTimeFormat);
        }
        catch (Exception ex)
        {
            cur.Trace.Warn("HijriToGreg :"+"\n"+ex.ToString());
            return "";
        }
    } 
4

3 に答える 3

1

つまり、どこかで参照型変数のフィールド、プロパティ、またはメソッドにアクセスしているnull(または構造体にアクセス.ValueしているNullable<T>) ことを意味します。どこにあるかはわかりませんがex.StackTrace、ブレークポイントを追加して、エラーが発生した場所の近くのコードをステップスルーし、変数などを調べて不正null(または-checkが欠落している場合) を確認することができます。 nullnull

于 2013-07-16T08:47:55.637 に答える
0
WhatEver cur = new WhatEver();
于 2013-07-16T08:51:14.970 に答える
0

これは、オブジェクトを初期化せずに使用していることを意味します。new キーワードを使用して初期化します。

于 2013-07-16T08:53:19.450 に答える