Character literal must contain exactly one character 解法紀錄
執行
var where = new List<string>();
where.Add("ID == '9408' ");
where.Add("name== \"金城武\"");
where.Add("AKA == \"我\"");
// 反斜線\" 輸出等於" 這樣程式中才能變成 name =金城武 如果寫"name = 金城武"
系統會跟你說你不是我
沒 被盜
//系統會跟你說你定義的model內沒有"name = 金城武" 的這個欄位 不要再冒充我了 謝謝
var sum = string.Join(" AND ", where.ToArray());
return GGRepository.Queryable()
.AsExpandable().Where(sum)
// sum 這邊會等於 => 搜尋 Where " ID == '9408' AND name == "金城武" AND AKA =="我" "
.OrderBy(x => x.顏值) //按照顏值排序
.ToPagedList(pageIndex, pageSize);//分頁
然後系統就會告訴你
Character literal must contain exactly one character
碼德發科?
威蛇模呢? 因為 ID用單引號包起來'9408' (丟喜拎北 沒事 略過這句)
在被C#抓去處理之後就會變成string 這樣C#在特殊情況下(像是施主定義的類型如果被轉了,或是C#看你不爽)的時候
覺得你搞得它很亂 所以C#: Character literal must contain exactly one character
解法94
把那該死的單引號變成雙引號 一定IPAD 反斜線
var where = new List<string>();
====================> where.Add("ID == \"9408\" "); <======================
where.Add("name== \"金城武\"");
where.Add("AKA == \"我\"");
var sum = string.Join(" AND ", where.ToArray());
return GGRepository.Queryable()
.AsExpandable().Where(sum) // 這邊會等於 => 搜尋 Where " ID == "9408" AND name == "金城武" AND AKA =="我" "
.OrderBy(x => x.顏值) //按照顏值排序
.ToPagedList(pageIndex, pageSize);//分頁
打完收工,大Guy4 J樣 認同請分享。