В принципе, я пытаюсь вернуть список imageURL для слайд-шоу изображений, когда пользователь нажимает на любое изображение в проекте.Re-Arrange items В C#
Я работал ДО список, который содержит ImageID и ImageUrl возвращается в соответствии с ProjectID, ImageID, прошел в:
List<ProjectImageBO> pi = pd.GetProjectImagesByProjectID(projectId, imageid, pageno);
Я хочу переставить возвращенные элементы списка в порядке что-то вроде этого:
первоначальный список вернулся: < 1шт, 2Item, 3Item, 4Item, 5Item>
если пользователь прошел 3 в качестве параметра для ImageID в:
pd.GetProjectImagesByProjectID(projectId, imageid, pageno)
тогда возвращаемый список должен быть следующим: < 3Item, 4Item, 5Item, 1Item, 2ItemIte>.
Я работал до:
public List<ProjectImageBO> GetListOfImagesByProjectPagination(int projectId, int imageid, int pageno)
{
ProjectImageDAL pd = new ProjectImageDAL();
List<ProjectImageBO> pi = pd.GetProjectImagesByProjectID(projectId, imageid, pageno);
if (imageid != 0)
{
var index = pi.FindIndex(x => x.ImageID == imageid);
if (index != null)
{
if (index > 0)
{
var item = pi[index];
pi[index] = pi[0];
pi[0] = item;
}
}
}
return pi;
}
который просто обменивая элементы в списке, как: < 3Item, 2Item, 1шт, 4Item, 5Item> - что не то, что я требую. Любые предложения или пример кода?
Он делает то, что вы пишете. 'var item = pi [index]; pi [index] = pi [0]; pi [0] = item; 'является свопом. –
да, что я выяснил .... Но любое предложение получить желаемый результат –