Linq konusu üzerine çalışmaya, yeni şeyler öğrenmeye devam ediyorum ve öğrendiğim faydalı bilgileri buradan sizlerle paylaşıyorum. Bu yazımda daha önce
bu yazımda bahsettiğim dizindeki dosyalara ulaşma örneğini bu sefer linq yöntemini kullanarak nasıl yapabileceğimizi göstereceğim. Linq konusu üzerinde daha önce yaptığımız bazı örnekleri göstermiştim. Artık daha farklı kullanış yöntemlerini sizlerle paylaşıyorum. Bu paylaşım da bunlardan ilki.
Öncelikle projemizde dizine
resimler isimli bir klasör oluşturuyorum ve bu klasöre birkaç resim ekliyorum. Bu klasördeki dosyaları ve bu dosyaların istediğimiz bilgilerini linq yöntemi ile çekeceğiz.
Öncelikle linq konusunu daha iyi kavramak için standart bir sorgu yapıyoruz. Bu sorgumuz şöyle:
var query = from file in new DirectoryInfo(Server.MapPath("~/resimler")).GetFiles("*.jpg")
select file;
GridView1.DataSource = query;
GridView1.DataBind();
Bu sorgu ile dosyaların elde edebilceğimiz tüm özelliklerini elde ediyoruz. Bunlar:
Name,
Length,
Directory Name,
FullName,
Extension,
Creation Time,
Last Access Time özellikleri. Ancak biz linq sorgumuz ile bu özelliklerden istediğimizi seçebiliyoruz.. Dosyaların adlarını çeken linq sorgumuz ise şöyle olacak:
var query = from file in new DirectoryInfo(Server.MapPath("~/resimler")).GetFiles("*.jpg")
select new
{
file.FullName
};
GridView1.DataSource = query;
GridView1.DataBind();
Görüldüğü gibi dizindeki dosylarımızı ve bilgilerini linq ile böyle çekebiliyoruz. Ayrıca
DirectoryInfo sınıfının
GetFiles metodu ile istediğimiz uzantılı dosyaları veya iis'in izin verdiği tüm dosyaları gösterebiliriz.
GetFiles("*.jpg") // jpg uzantılı dosyaları getirir.
Getfiles() // iis'in izin verdiği ve dizinde bulunan tüm dosyaları getirir.
İyi Çalışmalar!