FileInfo.MoveTo() vs Fichier.Move()
Quelle est la différence entre ces deux méthodes de déplacer un fichier?
System.IO.FileInfo f = new System.IO.FileInfo(@"c:\foo.txt");
f.MoveTo(@"c:\bar.txt");
//vs
System.IO.File.Move(@"c:\foo.txt", @"c:\bar.txt");
- Quelle est la question? Ils semblent être de deux méthodes différentes pour atteindre le même API. Vous êtes à la recherche pour la boucle de la performance ou de meilleures pratiques ou ???
- J'étais juste curieux de savoir pourquoi il y avait deux méthodes qui semblent faire exactement la même chose.
- Eh bien j'espère que les extraits ci-dessous vous montrent comment ils diffèrent-ils? Aussi, si vous n'êtes pas à l'aide de l' (actuellement libre) Réflecteur produit de la Porte Rouge, vous devriez.
- Merci ça aide beaucoup. Et oui, j'ai Réflecteur. J'ai juste ne pense jamais à l'utiliser sur le cadre réel uniquement quand je suis en train de désosser certains autres de la 3e partie du code.
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à la section "Remarques" dans cette page MSDN http://msdn.microsoft.com/en-us/library/akth6b1k.aspx :
Je pense que cette différence est plus significative entre le Fichier (Répertoire) et FileInfo (DirectoryInfo) des classes.
UPD: La même explication en question similaire https://stackoverflow.com/a/1324808/380123
Via RedGate Réflecteur:
Fichier.Move()
et FileInfo.MoveTo()
Une différence importante est que FileInfo.MoveTo() va mettre à jour le chemin d'accès de l'objet FileInfo pour le chemin de destination. Ce n'est évidemment pas le cas du Fichier.Move() car il utilise uniquement des chaînes de caractères en entrée.
La seule différence que je peux voir, c'est
File.Move
est statique etFileInfo.MoveTo
ne l'est pas.En dehors de cela ils courent environ le même code.