繁体   English   中英

如何检查包含特定字符串C#的变量?

[英]How to check in a variable contains a specific string c#?

我有一个变量,查询数据库后它会返回一组行。 每行都有一个item id加上start dateend date

我正在尝试使用此变量,因此,如果来自我的应用程序的输入与这些行集中的任何行匹配,则该变量已返回以执行某些操作。

如何才能做到这一点? 目前,我的if语句仅检查变量返回的第一行。 我需要它来检查所有行!

这是我的控制器中的代码:

var dateAvailability=from s in db.Bookings
                     where s.ItemId == id && s.StartDate < s.EndDate 
                           && s.EndDate > s.StartDate
                     select s;
 if (ModelState.IsValid)
 {
     foreach (var data in dateAvailability.ToList())
     {
        if (booking.ItemId == id && (StartDate == data.StartDate) && (EndDate == data.EndDate))
        {
             ViewBag.error = "Dates already exists";
        }
        else                 
            db.Bookings.Add(booking);
            db.SaveChanges();
        return RedirectToAction("Confirmation",
                                    new { id = booking.BookingId });

      }
 }

您可以使用Any

bool dateExistsAlready = dateAvailability 
   .Any(d => booking.ItemId == id && StartDate == d.StartDate && EndDate == d.EndDate);
if(dateExistsAlready)
{
   ViewBag.error = "Dates already exists";
}
else
{
   // ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM