.NET Tip of The Day
Learn one new .NET trick every day
Быстрое пополнение счета телефона      Login or Join

Consider using System.IO.Path.Combine() instead of string concatenation

Let's review the following code for creating a file path:

    public string GetFullPath(string fileName)

    {

        string folder = ConfigurationManager.AppSettings["MyFolder"];

        return folder + fileName;

    }

This code is prone to error. For example, when you set the folder setting, you have to remember to make sure it ends with a slash. To avoid such problems use Path.Combine() method which will ensure that the folder has ending slash:

    public string GetFullPath(string filename)

    {

        string folder = ConfigurationManager.AppSettings["MyFolder"];

        return Path.Combine(folder, filename);

    }



9/3/2007

Comments:

My advise: Stay away from Path.Combine unless you are really, really sure of it's workings! It may surprise you what output it provides.

terrac 3/7/2008 10:15:29 AM

Any interesting examples?

kostya.ly 3/9/2008 1:25:09 AM

He is probably talking about this example:

Path.Combine( @"c:\Dir", "\SubDir") that returns "\SubDir" where 99.99% of people would think it returns "C:\Dir\SubDir"
I did until recently!!!!

Pablo Alarcon Garcia 3/14/2008 2:42:15 PM

Name
URL
E-mail
Provide your e-mail address to receive notification about new comments.
Message
HTML tags are not supported.
Please add 3 and 1 and type the answer here:
RSS .NET Tip of The Day
Subscribe to receive one tip from the .NET Tips and Tricks Community per day.
Previous Tips of The Day
The best of the .NET Tips & Tricks Community.
.NET Practitioners .NET Tips & Tricks Community
Every .NET practitioner has a trick up in their sleeve. This is the place to share it with other .NET people.
Submit a Tip
Discovered a new trick? Share it with others.
My Tips
Manage tips you authored.