I want to detect the browser language so I can switch languages when people connect to my website. But when a user hasnt filled in the language in the browsers options I always get a null value with
string browserlanguage = Request.UserLanguages[0]
How could I avoid the error "Object reference not set to an instance of an object."
Check for Request.UserLanguages != null
.
For instance:
var l = Request.UserLanguages;
string browserlanguage = l ?? l[0] : "en";
// fall back to en, or set to "" or null.
Edit: (re your comment) If the above fails, too, Request
itself was null, which afaik is impossible (could you check Request != null
to make sure?). Did you possibly have a null reference later in your code?
string lang = (Request.UserLanguages ?? Enumerable.Empty<string>()).FirstOrDefault();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With