It could be rephrased, slightly more formally, to
In practice, the platform for C# is .NET, which provides tens of
thousands of types to C#, including System.Int32, to which the C#
keyword alias int maps [...]
That might make it clearer that int maps to System.Int32.
All four of your answers are grammatically correct and natural, and they have nearly the same meaning.
"What if" invites the other person to consider something as a real possibility.
"Supposing" invites the other person to consider something as a hypothetical situation.
This is what your book means when they say that "what if" ...
Yes, all four options sound natural to me:
Mick: Ethan's coming tomorrow. He'll help us.
What if he doesn't turn up — what shall we do then?
Supposing he doesn't turn up — what shall we do then?
What if he doesn't turn up?
Supposing he doesn't turn up?
In the latter two cases the "what shall we do then?" is implied, and is understood to ...
The first two are grammatically correct, but the meanings are different for them.
You did not have to be a clairvoyant to see that the war would go on.
The first sentence is in past tense, with "did". It means that you previously did not have to be a clairvoyant.
You do not have to be a clairvoyant to see that the war ...
Using "should of" when "should have" would be correct standard English grammar is a common usage. In some cases this occurs from hearing "should've" (intended as short for "should have") as "should of" because there is little if any difference in sound. But I think (although I cannot prove) that this use of &...
"Should of" is a misspelling of "should've"; "should've" is pronounced the same as (or very close to) "should of". It is indeed incorrect to use "should've" for future event. It should be just "Next time, she should flush the toilet."
Why does that construction exist?
Because in spoken language, should have and should of are indistinguishable (when enunciated as contracted should've). And some native speakers are so ignorant they don't understand that basic syntax requires an auxiliary verb after should, not a preposition.
But note that some perfectly competent Anglophones may ...
Although traditional grammar says that sentences require a subject and a verb, this isn't true of all sentences. For instance, I could say "Hello", "Thanks", "OK", "Yes". Some of them might count as interjections, but not all. Then there are phrases like "Once bitten, twice shy", although you could argue ...
The highlighted sentence describes something that happens habitually or repeatedly, and doesn't need to be in past tense.
I have my laundry done whenever it gets dirty.
If it is your sentence, it seems alright grammatically. It seems harder to read because of the structure, though. The same thought might be expressed by leaving out the reference to people.