Ich habe zwei IEnumerable-Objekte. Wenn eine bestimmte Bedingung erfüllt ist, muss ich jedes Element von IEnumerable zu IEnumerable bringen. Mein Code ist wie dieserElement zu IEnumerable hinzufügen <IPublishedContent>
IEnumerable<IPublishedContent> nodesTemp = posts.Take(10).ToList();
IEnumerable<IPublishedContent> nodes = null;
foreach (var n in nodesTemp)
{
if (condition=true)
{
nodes.add(n);
}
}
Aber das wirft einen Fehler
: 'System.Collections.Generic.IEnumerable <Umbraco.Core.Models.IPublishedContent>' keine Definition enthält für ‚hinzufügen 'und keine Erweiterungsmethode' add 'akzeptiert ein erstes Argument vom Typ' System.Collections.Generic.IEnumerable <Umbraco.Core.Models.IPublishedContent> 'könnte gefunden werden (fehlt Ihnen eine Verwendungs-Richtlinie oder eine Assembly-Referenz?)
komplette Code als Referenz
IEnumerable<IPublishedContent> nodesTemp = posts.Take(count).ToList();
IEnumerable<IPublishedContent> nodes = null;
foreach (IPublishedContent n in nodesTemp)
{
var rolename = n.GetProperty("focusedUserGroup").Value.ToString();
var username = umbraco.cms.businesslogic.member.Member.GetCurrentMember().Text;
var flag = false;
if (!string.IsNullOrEmpty(rolename))
{
var groups = rolename.Split(',');
foreach (var group in groups)
{
if (Roles.IsUserInRole(username, group))
{
nodes.add(n);
break;
}
}
}
}
Sie können "IEnumerable" nicht hinzufügen, es ist schreibgeschützt. Nimm eine "Liste" –
@Div Kannst du irgendeine Arbeit vorschlagen, damit ich ein bestimmtes Element von einem IEnumerable zu einem anderen nehmen kann? – Athul
@StuartLC Wie ich oben gezeigt habe, ist mein "if-Zustand" zu groß, um in eine einzige linq Query aufgenommen zu werden. – Athul