Why is it called a single in VB.net? I'm sure there is a good reason but it doesn't seem intuitive to a non formally trained programmer like me.
BPAndrew's question seems to be really "why float in C# and Single in VB.NET", which noone actually answered, so here's my 2p...
The use of "float" in C# seems to be a throwback to its C/C++ heritage. "float" still maps to the System.Single type in C#, so the keyword just exists for convenience. You could just as well declare the variable as "Single" in C# the same as you do in VB.NET.
(And as stated above, naming them Single/Double actually makes more sense as they are single/double precision floating-point numbers.)
As others have said, they map to "single" and "double" precision binary floating point types. Personally I think it was a sideways step to just name
System.Double - why not
System.Float64 to match the integer types?