2

私は2つのテキストボックスを持っていて、それら2つの時間の差を計算したいと思っています。

何かが正しくない場合も失敗し、例外がスローされますが、これを防ぎたいと思います(おそらくIFを使用して、正しくない場合は無視します)。

コードは次のとおりです。

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            var first = TimeSpan.ParseExact(First.Text.Replace("-", ":").Remove(First.Text.LastIndexOf("-"), 1).Insert(First.Text.Length - 4, "."), "g", CultureInfo.InvariantCulture);
            var last = TimeSpan.ParseExact(Last.Text.Replace("-", ":").Remove(First.Text.LastIndexOf("-"), 1).Insert(First.Text.Length - 4, "."), "g", CultureInfo.InvariantCulture);
            var difference = first - last;
            CalcDiff.Text = difference.TotalSeconds.ToString("F3");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

ご覧のとおり、それを機能させるためだけに、多くの「置換」とあらゆる種類のものがあります。

私が提供しているフォーマットはこれです:

2013-05-22 12-07-55-324

さらに言えば、私が気にするのは時間だけです: 12-07-55-324

だから、私はそれに置き換えるように言っています - で:、それを機能させるだけで、そのようなものです。

それで、それを改善する方法はありますか?そして、ある種の条件を作成することはできますか? ボタンを押すことはできません。それが正しくない場合は失敗します (たとえば、書式設定が間違っているか、何もないか、代わりにテキストが表示されます)。

4

2 に答える 2