So I have a list with post objects that have a visibility enum property. I'm trying to get all posts that have visibility == visibility.public and visibility == visibility.private && AuthorId == currentUserId.
This doesn't seem to work: from e in list select (e.Visibility == Visibility.Public && (e.Visibility == Visibility.Private && e.Author.Id == userId))
Any help would be appreciated
CodePudding user response:
You are asking that a post has visibility public AND private at the same time. Your two conditions should use an OR not an AND.
Your condition should be e.Visibility == Visibility.Public || (e.Visibility == Visibility.Private && e.Author.Id == userId)
Notice the ||
CodePudding user response:
Try this
var filteredList = list.Where(x => x.Visibility == Visibility.Public || (x.Visibility == Visibility.Private && x.AuthorId == currentUserId)).ToList();
