.net in en kullanışlı sınıfları ve özellikleri
.net framework bildigimiz gibi bir çok sınıfı barındırıyor bunlardan bazıları saatlerce debelnemekten bizi kurtaran sınıflar bir asp.net developer olarak kullananlar bilir mesela bir path onune @ ~ ../ gibi karakterler koymak Server.mappath kullanmak işimizi zorda olsak işimizi çözer ama bir yandan da en çok hataya bu tarz string birleştirme path yanlışlıkları yol açar.
public string GetFullPath(string filename)
{
string folder = ConfigurationManager.AppSettings["upload"];
return System.IO.Path.Combine(folder, filename);
}
Bunun yerine Path.Combine kullanarak hatanın ve ozel karakterlerin önune geçebiliriz.
Veya
string fileName = Path.GetFileName(fullPath);
System.Web.VirtualPathUtility sınıfı
~ lı bir adresi çözmek için kullanabileceğim bir sınıf
string path = VirtualPathUtility.ToAbsolutePath("~/UserControl/serdar.ascx");
//çıktısı /SD/firsatseninle/ UserControl /serdar.ascx.
Bunların dısında asp.net te script ve html tagları hep problem olmaktadır(site hack meta tag vs
) normal sartlarda asp.net <’”% gibi işaretler girildiginde bir exception fırlatır ve işlemi sonlandırır bunu sayfanın propertieslerinden açabilirsiniz ama yapmayın J html decode ve html encode işlemleri için System.Web.HttpUtility sınıfını kullanıyoruz bu sınıf sayesinde <p style=”color:red;”>serdar</> gibi ibir ifadeyi iştersek html encode edebilir istersek decode yapabilir o kısmın kırmızı yazılmasını sağlayabilirz.
Encode =<p>&</p>
Decode da ise serdar
Yaptıraibliriz. Burda soyle bir ornek vereyim databaseden bir string çekiyorsunuz ve string içerisinde html tagları var isterseniz stilli halde getirebilir isterseniz html etiketlerini zarar vermeyecek şekile getirebilirsiniz.
System.Environment sınıfı
//ilk kullanım
string s = “booo\r\n”;
//ikinci kullanım
string s = ” booo” + Environment.NewLine;
yukarıdaki iki kod örneği de aynı işlemi yapar fakat işletim sistemi farklılıkları bolge dil( kültür J) farklılıkları probleme yol açabilir bu yüzden msdn de 2. Kullanım gibi tavsiye ediliyor.
Bunların yanısıra datetime time ile ilgilide bir çok kullanışlı sınıf mevcut hatta bir iş görüşmemde bana sorulan bir soruda hatfaınn ilk gununu bulmam ve ona göre işlemler yapmam istenmişti araştırıken msdn de şu kaynağı buldum
DateTime dt = new DateTime(2003, 5, 1);
Console.WriteLine(“Is Thursday the day of the week for {0:d}?: {1}”,
dt, dt.DayOfWeek == DayOfWeek.Thursday);
Console.WriteLine(“The day of the week for {0:d} is {1}.”, dt, dt.DayOfWeek);
(http://msdn.microsoft.com/tr-tr/library/system.dayofweek.aspx)