.NET Comment vérifier si le chemin d'accès est un fichier et non un répertoire?

J'ai un chemin d'accès et j'ai besoin de savoir si c'est un répertoire ou un fichier.

Est-ce la meilleure façon de déterminer si le chemin est un fichier?

string file = @"C:\Test\foo.txt";

bool isFile = !System.IO.Directory.Exists(file) && 
                         System.IO.File.Exists(file);

Pour un répertoire, je voudrais inverser la logique.

string directory = @"C:\Test";

bool isDirectory = System.IO.Directory.Exists(directory) && 
                            !System.IO.File.Exists(directory);

Si les deux n'existe pas, que puis je ne vais pas aller faire une ou l'autre branche. Donc supposer qu'ils les deux, n'existe.