which one is better to use and why? I mean in which aspects these two commands differ and how? Performance, readability, ...
new FileInfo(path).Name or
Simply as you won't have to Create a new Object for using Path.GetFilename() it will perform better.
Here is a Comparison for both:
Code:
Path.GetFileName("G:\\u.png")
IL:
IL_0000: ldstr "G:\u.png"
IL_0005: call System.IO.Path.GetFileName
Code:
new FileInfo("G:\\u.png").Name
IL:
IL_0000: ldstr "G:\u.png"
IL_0005: newobj System.IO.FileInfo..ctor
IL_000A: callvirt System.IO.FileSystemInfo.get_Name