Yan Cui
I help clients go faster for less using serverless technologies.
To get the default value of a type, you’ve probably used the default keyword in .Net already:
1: var defaultInt = default(int); // 0
2: var defaultObj = default(string); // null
However, the use of the default keyword requires a type name to be specified at compile time, so you won’t be able to use it on a type which you discover at runtime. Instead, you will need to do something along the line of:
1: public object GetDefaultValue(Type type)
2: {
3: // Handle value types and reference types differently
4: if (type.IsValueType)
5: {
6: return Activator.CreateInstance(type);
7: }
8: else
9: {
10: return null;
11: }
12: }
It’ll yield the same result as using the default keyword:
1: var defaultInt = GetDefaultValue(typeof(int)); // 0
2: var defaultObj = GetDefaultValue(typeof(string)); // null
Whenever you’re ready, here are 3 ways I can help you:
- Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
- I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
- Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.