Если вы используете только функцию mail()
, вам нужно заполнить конфигурационный файл.
Вам нужно открыть расширение почты и установить SMTP smtp_port
и т. д., и самое главное, ваше имя пользователя и пароль. Без этого почта не может быть отправлена. Кроме того, вы можете использовать класс PHPMail для отправки.
Если вы используете LINQ to SQL или LINQ to Entities, вы должны полностью полностью реализовать результаты в памяти:
var oddCategories = projectsByCat.ToList().Where((c,i) => i % 2 != 0);
var evenCategories = projectsByCat.ToList().Where((c,i) => i % 2 == 0);
Невозможно выполнить итерацию результатов в базе данных с помощью индексатора без использования курсора, который не работает либо с каркасом ORM.
Нечетные категории и четные категории обращаются назад.
Индексы начинают a 0 не 1
0% 2 = 0
0 индекс нечетный.
var oddCategories = projectsByCat.Where((cat, index) => index % 2 == 0);
var evenCategories = projectsByCat.Where((cat, index) => index % 2 != 0);
Обратите внимание, что вызов .ToList()
дважды для одного и того же запроса будет дважды запрашивать базу данных.
Было бы гораздо лучше кэшировать результат в промежуточном списке, , затем примените предикатную фильтрацию:
var projectsByCat =
(from p in Projects
group p by p.Category into g
orderby g.Count() descending
select new { Category = g.Key, Projects = g }).ToList();
var oddCategories = projectsByCat.Where((cat, index) => index % 2 != 0);
var evenCategories = projectsByCat.Where((cat, index) => index % 2 == 0);
Правильный способ сделать это с помощью LINQ и избегать множественных перечислений над входом состоит в том, чтобы сделать группировку или аналогичную информацию о том, является ли каждый элемент четным или нечетным.
Простой способ использования перегрузки для Select
, что смешивается в индексе , связанном с ToLookup
, дает вам то, что вы хотите:
var oddsAndEvens = input
.ToList() // if necessary to get from IQueryable to IEnumerable
.Select((item, index) => new { isEven = index % 2 != 0, item })
.ToLookup(
i => i.isEven,
i => i.item);
Это приведет к Lookup<TKey, TElement>
, которая имеет следующее преимущество :
Если ключ не найден в коллекции, возвращается пустая последовательность.
blockquote>Это означает, что после указанного выше запроса LINQ вы можете:
var evens = oddsAndEvens[true]; var odds = oddsAndEvens[false];
Вы можете отделить нечетные и даже ваши взгляды с помощью linq.
//even
@foreach (var item in Model.Where((item, index) => index % 2 == 0))
{
//do the code
}
//odd
@foreach (var item in Model.Where((item, index) => index % 2 != 0))
{
//do the code
}
var s = "это тестовая строка <
>
для извлечения нечетных <
индексов >
значений после разделения"; var l = s.Split (new char [] {'& lt;', '>'}; IEnumerable e = l.Where (x => ((l.ToList (). IndexOf (x)% 2) == 1 )); 'e' будет: 'string' и 'index'
Вы можете найти Даже нечетное число без цикла foreach
static void Main(string[] args)
{
List<int> lstnum = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<int> lstresult = lstnum.FindAll(x => (x % 2) == 0);
lstresult.ForEach(x => Console.WriteLine(x));
}