Cookie に値が存在するかどうかを確認する必要があります。if
しかし、3つのCookieをチェックする必要がある場合、またはでチェックするのは悪いように思われるので、そうするための迅速で良い方法があるかどうか疑問に思いtry
ます。
Cookie が存在しない場合、空の文字列が変数に割り当てられないのはなぜですか? 代わりにそれは示していますObject reference not set to an instance of an object.
私のコード(動作しますが、このタスクには大きすぎるようです。これを行うためのより良い方法があるはずです)
// First I need to asign empty variables and I don't like this
string randomHash = string.Empty;
string browserHash = string.Empty;
int userID = 0;
// Second I need to add this huge block of try/catch just to get cookies
// It's fine since I need all three values in this example so if one fails all fails
try
{
randomHash = Convert.ToString(Request.Cookies["randomHash"].Value);
browserHash = Convert.ToString(Request.Cookies["browserHash"].Value);
userID = Convert.ToInt32(Request.Cookies["userID"].Value);
}
catch
{
// And of course there is nothing to catch here
}
ご覧のとおり、私はクッキーを取得するためだけにこの巨大なブロックを持っています。私が欲しいのは次のようなものです:
// Gives value on success, null on cookie that is not found
string randomHash = Convert.ToString(Request.Cookies["randomHash"].Value);
string browserHash = Convert.ToString(Request.Cookies["browserHash"].Value);
int userID = Convert.ToInt32(Request.Cookies["userID"].Value);
.Value
編集多分私はどうにかして私の好みに合わせてメソッドをオーバーライドできますか?