Почему IList <T> не имеет, Вставляют методы, которые берут IEnumerable <T>?

Я попытался в этой модели в соответствии с моими требованиями. Мне нужно сохранить дату, когда когда-либо создается объект. Я хочу получить все записи (документы) между двумя датами в моем html-файле. Я использовал следующий формат: mm / dd / yyyy

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

    <script>
//jquery
    $(document).ready(function(){  
    $("#select_date").click(function() { 
    $.ajax({
    type: "post",
    url: "xxx", 
    datatype: "html",
    data: $("#period").serialize(),  
    success: function(data){
    alert(data);
    } ,//success

    }); //event triggered

    });//ajax
    });//jquery  
    </script>

    <title></title>
</head>

<body>
    <form id="period" name='period'>
        from <input id="selecteddate" name="selecteddate1" type="text"> to 
        <input id="select_date" type="button" value="selected">
    </form>
</body>
</html>

в моем файле py (python) я преобразовал его в «iso fomate» следующим образом

date_str1   = request.POST["SelectedDate1"] 
SelectedDate1   = datetime.datetime.strptime(date_str1, '%m/%d/%Y').isoformat()

и сохранен в моей коллекции dbmongo с помощью «SelectedDate» «как поле в моей коллекции

для извлечения данных или документов между двумя датами, которые я использовал в следующем запросе

db.collection.find( "SelectedDate": {'$gte': SelectedDate1,'$lt': SelectedDate2}})
23
задан Kei 12 July 2009 в 22:54
поделиться

1 ответ

Поскольку интерфейс, как правило, является наименьшей функциональностью, необходимой для его использования, для снижения нагрузки на разработчиков. С C # 3.0 вы можете добавить это как метод расширения:

public static void AddRange<T>(this IList<T> list, IEnumerable<T> items) {
    if(list == null) throw new ArgumentNullException("list");
    if(items == null) throw new ArgumentNullException("items");
    foreach(T item in items) list.Add(item);
}

et voila; IList<T> теперь имеет AddRange:

IList<string> list = ...
string[] arr = {"abc","def","ghi","jkl","mno"};
list.AddRange(arr);
38
ответ дан Marc Gravell 29 November 2019 в 02:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: