View Full Version : کمی LINQ
  
Vahid_moghaddam
جمعه 20 شهریور 1388, 11: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, 11: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, 11: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, 11: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, 20:59 عصر
فرض کنید می خواهیم تمام TextBox ها را disable کنیم. با استفاده از LINQ
foreach (TextBox myChildTextBox in this.Controls.OfType<TextBox>())
            {             myChildTextBox.Enabled = false;
             }
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.