C# または .NET で最悪の落とし穴は何ですか? [closed] 質問する

C# または .NET で最悪の落とし穴は何ですか? [closed] 質問する

最近、DateTimeオブジェクトを操作していて、次のような内容を書きました。

DateTime dt = DateTime.Now;
dt.AddDays(1);
return dt; // still today's date! WTF?

のインテリセンスのドキュメントには、AddDays()日付に 1 日を追加すると書かれていますが、実際には1 日が追加された日付が返されるので、次のように記述する必要があります。

DateTime dt = DateTime.Now;
dt = dt.AddDays(1);
return dt; // tomorrow's date

これまで何度もこの問題に悩まされてきたので、C# の最悪の落とし穴をカタログ化しておくと役に立つと思いました。

ベストアンサー1

private int myVar;
public int MyVar
{
    get { return MyVar; }
}

なんと、スタック トレースなしでアプリがクラッシュします。これは頻繁に発生します。

(ゲッターではMyVar小文字ではなく大文字になっていることに注意してください。)myVar

おすすめ記事