powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как найти строку с максимальным значением даты в DataTable
10 сообщений из 10, страница 1 из 1
Как найти строку с максимальным значением даты в DataTable
    #36676013
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ подскажите как найти строку с максимальным значением поля MyDate (типа DateTime) в таблице MyTable если поле MyDate уникальное?
какоe такоe чудо LINQ-выражение прогнать?

С уважением. Ашот.
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676113
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAX?
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676169
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУMAX?

Ну да MAX ... из N строк выбрать ту, в которой поле MyDate содержит максимальную дату....
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676203
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нравится MAX, попробуйте OrderByDescending(a=>a.Date).First();
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676246
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buredНе нравится MAX, попробуйте OrderByDescending(a=>a.Date).First();


Так и сделал, просто думал, может есть что еще.........
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676253
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пипец
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36676349
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var players = new List<Player>();
        players.Add(new Player() { Birth = DateTime.Parse("23.08.1978"), Name = "Kobe" });
        players.Add(new Player() { Birth = DateTime.Parse("30.12.1984"), Name = "LeBron" });
        players.Add(new Player() { Birth = DateTime.Parse("03.08.1982"), Name = "Hryapa" });

        Response.Write(players.OrderByDescending(p => p.Birth).First().ToString());
        Response.Write("<br/>");
        Response.Write(players.Where(p => (p.Birth == players.Max(b=>b.Birth))).First().ToString());

    }


}
public class Player
{
    public DateTime Birth { get; set; }
    public String Name { get; set; }

    public override string ToString()
    {
        return String.Format("Name: {0}, Birth: {1}", this.Name, this.Birth.ToShortDateString());
    }
}


...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36677610
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var players = new List<Player>();
        players.Add(new Player() { Birth = DateTime.Parse("23.08.1978"), Name = "Kobe" });
        players.Add(new Player() { Birth = DateTime.Parse("30.12.1984"), Name = "LeBron" });
        players.Add(new Player() { Birth = DateTime.Parse("03.08.1982"), Name = "Hryapa" });

        Response.Write(players.OrderByDescending(p => p.Birth).First().ToString());
        Response.Write("<br/>");
        Response.Write(players.Where(p => (p.Birth == players.Max(b=>b.Birth))).First().ToString());
        Response.Write("<br/>");
        Response.Write(players.Young().ToString());

    }

}

public static class BuredExtensions
{
    public static T Young<T>(this IEnumerable<T> coll) where T: Player
    {
        return coll.Where(p => (p.Birth == coll.Max(b => b.Birth))).First();
    }
}

public class Player
{
    public DateTime Birth { get; set; }
    public String Name { get; set; }

    public override string ToString()
    {
        return String.Format("Name: {0}, Birth: {1}", this.Name, this.Birth.ToShortDateString());
    }
}
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36677802
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звезданул в сети более оптимальный метод

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var players = new List<Player>();
        players.Add(new Player() { Birth = DateTime.Parse("23.08.1978"), Name = "Kobe" });
        players.Add(new Player() { Birth = DateTime.Parse("30.12.1984"), Name = "LeBron" });
        players.Add(new Player() { Birth = DateTime.Parse("03.08.1982"), Name = "Hryapa" });

        Response.Write(players.OrderByDescending(p => p.Birth).First().ToString());
        Response.Write("<br/>");
        Response.Write(players.Where(p => (p.Birth == players.Max(b=>b.Birth))).First().ToString());
        Response.Write("<br/>");
        Response.Write(players.Young().ToString());
        Response.Write("<br/>");
        Response.Write(players.ForeverYoung(p=>p.Birth).ToString());

    }

}

public static class BuredExtensions
{
    public static T Young<T>(this IEnumerable<T> coll) where T: Player
    {
        return coll.Where(p => (p.Birth == coll.Max(b => b.Birth))).First();
    }

public static T ForeverYoung<T, TCompare>(this IEnumerable<T> collection, Func<T, TCompare> func) where TCompare : IComparable<TCompare>
    {
        T maxItem = default(T);
         TCompare maxValue = default(TCompare);
         foreach (var item in collection)
         {
             TCompare temp = func(item);
             if (maxItem == null || temp.CompareTo(maxValue) > 0)
             {
                maxValue = temp;
                maxItem = item;
            }
        }
        return maxItem;
    }
}

public class Player
{
    public DateTime Birth { get; set; }
    public String Name { get; set; }

    public override string ToString()
    {
        return String.Format("Name: {0}, Birth: {1}", this.Name, this.Birth.ToShortDateString());
    }
}
...
Рейтинг: 0 / 0
Как найти строку с максимальным значением даты в DataTable
    #36677812
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владгридов с циклами for и массивами просьба не беспокоиться
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как найти строку с максимальным значением даты в DataTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]