0
我正在比較兩個列表,並且在一種情況下,我從一個列表中刪除不常見的元素(從具有更多元素的列表中刪除),在另一種情況下(else語句),我將非常見元素添加到一個列表中以較少的元素列出)更好的方式來做到這一點(使用LINQ)?
我能夠使用下面給出的代碼來做到這一點,但我希望能夠以更簡潔的方式實現這一點。請建議我一個等效的LINQ代碼
if (receivedList.Count < AuthorFacets.Count)
{
for (int i = AuthorFacets.Count - 1; i >= 0; i--)
{
if (!receivedList.Contains(AuthorFacets[i]))
AuthorFacets.RemoveAt(i);
}
}
else
{
for (int i = 0; i < receivedList.Count; i++)
{
if (!AuthorFacets.Contains(receivedList[i]))
AuthorFacets.Add(receivedList[i]);
}
}
有什麼不對的,你有什麼?我認爲它很簡潔,因爲它更易於閱讀。 – CodingYoshi
因此,如果我錯了,是否讓'AuthorFacets'等於'recievedList' ?,因爲你正在做的事情已經清楚了,正如@CodingYoshi所指出的那樣,我不會另外建議,但是你可以嘗試'except' - 警告 - 與較大的一個比較,然後刪除除了從較大的結果之外獲得的那些..雖然這有點扭曲:) – Jaya
我也相信你錯過了一個重要的情況,當計數是平等的 - >即使如果計數是相等的,裏面的元素可能完全不同。只是說不知道你是否想要處理這種情況,儘管 – Jaya