2016-03-04 63 views
0

我想只顯示20 contractname的字符,該怎麼做,在下列情況下?使用字符串和三元運算LINQ

OPM.Models.OPMLEntities obj = new OPM.Models.OPMLEntities(); 

var Contracts = obj.getUserContractss(UserID, p).ToList(); 
ViewBag.contracts = Contracts.OrderByDescending(s => s.contractId&&(s.contractName.Length>20?s.contractName.Substring(0, 20).Trim() + "..." : s.contractName)); 
+0

你給甚至不編譯代碼 - 你能指望什麼's.contractId &&(某些字符串表達式)'做什麼?你知道你現在只是指定*排序*嗎? (我真的不認爲你想在你的代碼的順序部分在做這個...) –

回答

1
OPM.Models.OPMLEntities obj = new OPM.Models.OPMLEntities(); 

var Contracts = obj.getUserContractss(UserID, p).ToList(); 
ViewBag.contracts = Contracts.OrderByDescending(s => s.contractId) 
    .Select(s.contractName.Length>20?s.contractName.Substring(0, 20).Trim() + "..." : s.contractName);