我已存儲在數據庫中作爲如何扭轉查詢或c#詞語
位置的順序
印度,塔米爾納杜,奈,Annanagar
而我在網格結合查看它-111顯示爲 '印度,泰米爾納德邦,金奈,安納加格'這種格式。
但我需要以這種格式顯示爲'Annanagar,Chennai,Tamilnadu,India'。如何在查詢或c#中執行這個相反的順序。
注意:這是存儲在一列'印度,泰米爾納德邦,金奈,Annanagar'用逗號分隔。
我已存儲在數據庫中作爲如何扭轉查詢或c#詞語
位置的順序
印度,塔米爾納杜,奈,Annanagar
而我在網格結合查看它-111顯示爲 '印度,泰米爾納德邦,金奈,安納加格'這種格式。
但我需要以這種格式顯示爲'Annanagar,Chennai,Tamilnadu,India'。如何在查詢或c#中執行這個相反的順序。
注意:這是存儲在一列'印度,泰米爾納德邦,金奈,Annanagar'用逗號分隔。
我相信OP提供的位置例如是從DB只是一個結果他正在尋找這樣的東西:
string location = "India,Tamilnadu,Chennai,Annanagar";
string[] words = location.Split(',');
Array.Reverse(words);
string newlocation = String.Join(",", words);
Console.WriteLine(newlocation); // Annanagar,Chennai,Tamilnadu,India
在SQL中,您可以使用查詢的順序。
SELECT * FROM location
ORDER BY City
這將返回City列按字母順序排列的結果。
如果你想顛倒順序,這樣它會從ž下單 - >一個,你會做
ORDER BY City DESC
它通常是一個好主意,申請某種在你的查詢訂購的,這將是用於顯示,否則結果會以一個隨機的非確定性順序返回,這很少是您想要的。
在SQL語法:
SELECT location FROM locations ORDER BY location ASC // server side sorting
或者,如果你有你的結果在一個DataTable,你可以這樣做:
table.DefaultView.Sort = "location ASC"; // client side in-memory sorting
你問如何使串局部性,市,州,國家,當你有它存儲在相反的順序?那麼你不能使用排序來做到這一點。
如果您將所有值存儲在單個字段中作爲逗號分隔值,則在C#中,可以通過逗號分隔字符串作爲分隔符,然後通過使用逗號以相反順序附加項來再次加入它作爲分隔器。
使用C#我們有:
var arr = new[] { "India", "Tamilnadu", "Chennai", "Annanagar" };
使用LINQ:
var q = from location in arr
orderby location ascending // or descending
select location;
使用擴展方法:
var q = arr.OrderBy(l => l);
var q = arr.OrderByDescending(l => l);
但這不是單獨存儲以作爲orderby。它被聯合儲存在一個專欄中,分別是「印度,泰米爾納德邦,金奈,安納那加爾」 – Innova 2010-06-07 10:48:20