I'm studying computer network nowadays. Now I know a big difference between TCP and UDP is that UDP can lose their packets while communication. I'm wondering how C# react with this lost. For example, one host sends
C# couldn't care less - in fact it won't even know a packet was lost. Your code/logic may or may not have issues with that lost packet. That's entirely up to the logic you coded, and has nothing to do with the underlying programming language/runtime system.
I also think you're overthinking/overcomplicating this: losing a packet === not sending one...