View Full Version : کمی LINQ
Vahid_moghaddam
جمعه 20 شهریور 1388, 10:20 صبح
مرجع http://windowsclient.net/
یافتن و حذف فایل های قدیمی
var query = from o in Directory.GetFiles("/YourFolder", "*.*",
SearchOption.AllDirectories)
let x = new FileInfo(o)
where x.CreationTime <= DateTime.Now.AddMonths(-6)
select o;
foreach (var item in query)
{
File.Delete(item);
}
Vahid_moghaddam
جمعه 20 شهریور 1388, 10:24 صبح
مرجع http://windowsclient.net (http://windowsclient.net/)
فرض کنید می خواهیم لیست زیر را مرتب کنیم
ArrayList names = new ArrayList(5);
names.Add("Tony Abbot");
names.Add("Tony A Farrow");
names.Add("Tony Charles");
names.Add("Tony Small");
names.Add("Bob Brown");
این کار با استفاده از LINQ به شکل زیر انجام پذیر است:
var query = from p in names.Cast<string>()
let count = p.Split(' ').Length - 1
let surname = p.Split(' ')[count]
let givenname = p.Split(' ')[0]
orderby surname ascending
select new
{
GivenName = givenname,
Surname = surname
};
foreach (var item in query)
{
// item.GivenName
// item.Surname
}
Vahid_moghaddam
جمعه 20 شهریور 1388, 10:34 صبح
فرض کنید دو لیست مانند زیر داریم و می خواهیم item های انتخاب شده را از ایست ها بیرون بکشیم و آنها را در یک لیست قرار دهیم.
<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
<asp:ListItem Text="One" Value="One" />
<asp:ListItem Text="Two" Value="Two" />
<asp:ListItem Text="Three" Value="Three" />
<asp:ListItem Text="Four" Value="Four" />
<asp:ListItem Text="Five" Value="Five" />
<asp:ListItem Text="Six" Value="Six" />
<asp:ListItem Text="Seven" Value="Seven" />
</asp:ListBox>
<asp:ListBox ID="ListBox2" runat="server" SelectionMode="Multiple">
<asp:ListItem Text="One" Value="One" />
<asp:ListItem Text="Two" Value="Two" />
<asp:ListItem Text="Three" Value="Three" />
<asp:ListItem Text="Four" Value="Four" />
<asp:ListItem Text="Five" Value="Five" />
<asp:ListItem Text="Six" Value="Six" />
<asp:ListItem Text="Seven" Value="Seven" />
</asp:ListBox>
با استفاده از LINQ
var query = from p in ListBox1.Items.OfType<ListItem>()
.Concat(ListBox2.Items.OfType<ListItem>())
.Where(o => o.Selected)
select new
{
Text = p.Text
};
foreach (var item in query)
{
// print item
}
Vahid_moghaddam
جمعه 20 شهریور 1388, 10:36 صبح
یافتن عضو های غیر تکراری در یک string
var unique = "Apples, Oranges, Apples, Melons"
.Split(new string[] { ", " },
StringSplitOptions.RemoveEmptyEntries).Distinct();
foreach (var item in unique)
{
Response.Write(item + "<br />");
}
Vahid_moghaddam
شنبه 21 شهریور 1388, 19:59 عصر
فرض کنید می خواهیم تمام TextBox ها را disable کنیم. با استفاده از LINQ
foreach (TextBox myChildTextBox in this.Controls.OfType<TextBox>())
{ myChildTextBox.Enabled = false;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.