2016-11-22 71 views
-5

新手的前這裏,我有一個列表移動在列表中的對象添加到列表

@Model.Cleaners 

如果在列表

bool something = true 

我想這個項目動,現在是去當在列表中的第一項(所以它首先會顯示出來。) 我想這

@foreach (var c in Model.Cleaners) 
       { 
        var item = c; 
        @Model.Cleaners.Remove(c); 
        @Model.Cleaners.Insert(0,item); 
       } 

但我正在逐漸錯誤無法將類型'void'轉換爲對象'這是什麼意思?

+0

請說明您的具體問題或添加其他詳細信息,以確切地突出您所需要的。正如目前所寫,很難確切地說出你在問什麼。請參閱[如何問](http://stackoverflow.com/help/how-to-ask)頁面幫助澄清這個問題 – Marusyk

+1

我99.9%肯定你會得到答案,如果你谷歌'不能轉換類型虛空到對象C#' – dfundako

+0

你可以用'OrderBy'實現你想要的,而不是實際洗牌你的項目,看看這個http://www.vitoshacademy.com/c-linq-where-orderby-select/ – KMoussa

回答

1

我不知道是否有更簡單的方法來做到這一點,但在過去遇到這個問題時,我做了以下工作。

我在數據庫表中添加了一個可爲空的int,然後我做了一個foreach循環,根據我想要的任何資格,我給出了一個較低的數字。然後我做了orderby。

這樣做的好處是您的訂單有很大的靈活性。你可以給3個值0,1,和2

例如

@foreach (var c in Model.Cleaners) 
{ 
c.ConfirmationChecker = 1; 
foreach (var p in c.TimeConfirmations) 
{ 
    if (condition) 
    { 
     c.ConfirmationChecker = 0; 
    } 


} 
} 

然後事後你可以做排序依據

@foreach (var c in Model.Cleaners.OrderBy(x => x.ConfirmationChecker)) 

希望這有助於:)!

+0

愛它!謝謝! – Newbie