Assuming the property on your
Form
entity is declared as
bool?
or
Nullable<bool>
, you can't use
Convert.ToBoolean
if the value is
null
.
Instead, compare the value to
true
or
false
:
foreach (var item in list)
{
if (item.Deleted == false)
{
filteredList.Add(item);
}
}
List<Form> filteredList = list.Where(item => item.Deleted == false).ToList();
NB: Values which are
null
will not be equal to
false
, so those items will be included in the filtered list. If you want to exclude them, you can either change your condition:
List<Form> filteredList = list.Where(item => item.Deleted == false || item.Deleted == null).ToList();
List<Form> filteredList = list.Where(item => item.Deleted != true).ToList();
Or you can coalesce the nullable value:
List<Form> filteredList = list.Where(item => item.Deleted.GetValueOrDefault() == false).ToList();
List<Form> filteredList = list.Where(item => !item.Deleted.GetValueOrDefault()).ToList();
List<Form> filteredList = list.Where(item => (item.Deleted ?? false) == false).ToList();
List<Form> filteredList = list.Where(item => !(item.Deleted ?? false)).ToList();