2014-11-24 4 views
2

У меня есть сущность установить какзаписи Re порядка в LINQ

public class StateInformation 
{ 
    public string id { get; set; } 
    public bool ?locked { get; set; } 
    public bool ?hidden { get; set; } 
} 

В некоторых ситуациях скрытых поля имеет значение верно как

{ 
"columns": [ 
    { 
     "id": "prescribingClNDC" 
    }, 
    { 
     "id": "prescribingClNDCDes", 
     "locked": false 
    }, 
    { 
     "id": "prescribindClGenericName", 
     "hidden": true, 
     "locked": false 
    }, 
    { 
     "id": "prescribingClTheraputic", 
     "locked": false, 
     "width": 100 
    }, 
    { 
     "id": "prescribingClTotalCost", 
     "locked": false, 
     "width": 100, 
     "hidden": true 
    } 
] 

}

Эти Я должен изменить порядок записей. То есть, если запись скрыла значение поля «истина» разместят в конце записи, установленный как

{ 
"columns": [ 
    { 
     "id": "prescribingClNDC" 
    }, 
    { 
     "id": "prescribingClNDCDes", 
     "locked": false 
    }, 
    { 
     "id": "prescribingClTheraputic", 
     "locked": false, 
     "width": 100 
    }, 
    { 
     "id": "prescribingClTotalCost", 
     "locked": false, 
     "width": 100, 
     "hidden": true 
    }, 
    { 
     "id": "prescribindClGenericName", 
     "hidden": true, 
     "locked": false 
    } 
] 

}

Есть ли какой-либо прямой Methode доступен в LINQ справиться с этим ..?

Благодаря Advance

ответ

3

попробовать:

var info = new List<StateInformation>() { 
    new StateInformation() { id="1", locked = false, hidden = true }, 
    new StateInformation() { id="2", locked = false, hidden = false }, 
    new StateInformation() { id="3", locked = false} 
}; 

var results = info.OrderBy(x => x.hidden.HasValue && x.hidden.Value).ToList(); 

выход будет:

2 False null 
3 False False 
1 False True 
+0

Благодаря MajoB. большой –

Смежные вопросы