3 ms·
You just need to use var properly. I.E. only when you can tell the type from the rvalue. var a = new ArrayList<T>(); not: var a = o.getThings();
by vips7L 6y ago
You just need to use var properly. I.E. only when you can tell the type from the rvalue.
var a = new ArrayList<T>();
not:
var a = o.getThings();
- Hokusai 6y ago> You just need to use var properly. That is a very good point. I find the diamond operator more of my taste as it requires you to think if you want to expose ArrayList or List. List<String> list = new ArrayList(); But, as you point, the second example removes information that will require to spend time to check types each time that someone reads the code. I do not like that. I use auto-complete and I type quite fast, so, I do not see to write code as a problem. I spend most of my time understanding the functional needs, looking for better patterns or algorithms to implement performance-critical sections or finding names for exposed APIs that state clearly its function when I "write code". But, most of the time, I am just reading my old or other people's code to just change a few lines or decide on a local refactoring.
- colejohnson66 6y ago^This Here, the first is much less verbose, but still clear: var x = new Dictionary<string, MyComplexType>(); Dictionary<string, MyComplexType> x = new Dictionary<string, MyComplexType>(); But here, it’s ambiguous what the type of `x` is without Intellisense: var x = y.GetStuff();