۱۳۹۰/۰۳/۱۳

فلسفه وجودي Path.Combine


عموما اكثر كدهاي موجود از روش زير براي ساخت يك مسير استفاده مي‌كنند:
string path = somePath + "\\" + filename;

اما اگر همين برنامه تحت Mono در لينوكس اجرا شود به مشكل بر مي‌خورد زيرا در لينوكس مسيرها اين‌بار به صورت زير هستند:
/somepath/filename

به همين جهت توصيه شده است براي ساخت مسيرها در برنامه‌ي خود، از متد Path.Combine موجود در فضاي نام System.IO استفاده كنيد زيرا اين متد از مقادير Path.DirectorySeperatorChar و Path.VolumeSeparatorChar جهت تهيه مسير نهايي استفاده مي‌كند. اين مقادير در ويندوز (\) و لينوكس (/) متفاوت بوده و به صورت خودكار در زمان اجرا توسط فريم ورك مورد استفاده مديريت خواهند شد.
همچنين مزيت ديگر استفاده از Path.Combine ، تعيين اعتبار ورودي است؛ به اين معنا كه اگر از كاراكترهاي غيرمجاز استفاده شود، يك استثناء صادر خواهد شد.

يك مورد ديگر هم شايد بد نباشد همينجا اضافه شود و آن هم فلسفه وجودي Environment.NewLine است. مطابق معمول رسم بر اين است كه سطر جديد با n\ در انتهاي يك رشته مشخص شود اما اين هميشه صحيح نيست و در پلتفرم‌هاي مختلف متفاوت است. Environment.NewLine در ويندوز مساوي r\n\ است و در سيستم‌هاي مبتني بر Unix مساوي n\ خواهد بود. به همين جهت بهتر است از اين پس بجاي n\ از Environment.NewLine جهت مشخص سازي سطر جديد استفاده كنيد.