-6

文字列値を日時形式に変換しようとすると、その時点で一部の時間文字列変数にnull値が含まれ、例外の無効な形式のstingがスローされます。例えば

string abc=//date vale
 datetime dt=new datetime();
 dt=DateTime.Parse(abc);
//if abc comes null it throws exception.
//I can check in this way
if(abc!=null)
{
 dt=DateTime.Parse(abc);
}
4

5 に答える 5

7

次のコードを使用します。

string abc=//date vale
DateTime dt;        
if(DateTime.TryParse(abc, out dt)
{
       // do something
}
于 2012-06-15T11:20:25.220 に答える
7

DateTime.TryParse[MSDN]をご覧ください。

編集:

このコードを複製したくない場合は、メソッドに入れてください。おそらくnull許容の戻り値を使用してください。

public DateTime? ParseDate(string dateString)
{
    DateTime dt;
    if (DateTime.TryParse(dateString, out dt))
    {
        return dt;
    }
    else
    {
        return null;
    }
}
于 2012-06-15T11:21:35.200 に答える
5

を使用できますDateTime.TryParse(string s, out DateTime result)。このメソッドは、文字列を解析して結果を取得しようとし、trueそれが機能した場合/false解析が不可能な場合に戻ります。

string abc = //date vale
datetime dt;
bool didItWork = DateTime.TryParse(abc, out dt);
于 2012-06-15T11:22:24.637 に答える
5

DateTime.TryParse()例外を回避するために使用する必要があります。

于 2012-06-15T11:22:25.617 に答える
4

これを使う

Convert.ToDateTime();

このリンクを確認してください

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

于 2012-06-15T11:21:42.900 に答える