簡體   English   中英

如何反轉查詢或C#中的單詞順序

[英]how to reverse the order of words in query or c#

我已經存儲在數據庫中

位置

印度,泰米爾納德邦,金奈,安娜那加

當我綁定到網格視圖時,此格式將顯示為“印度,泰米爾納德邦,金奈,安娜那加爾”。

但我需要以這種格式顯示為“ Annanagar,Chennai,Tamilnadu,印度”。 如何在查詢或C#中執行此反向順序

注意:此信息存儲在“印度,泰米爾納德邦,金奈,安娜那加爾”的一列下,並以逗號分隔。

我相信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 location FROM locations ORDER BY location ASC // server side sorting

或者,如果您在DataTable中有結果,則可以使用以下方法:

table.DefaultView.Sort = "location ASC"; // client side in-memory sorting

在SQL中,您可以按查詢使用順序。

SELECT * FROM location
ORDER BY City

這將返回按“城市”列按字母順序排序的結果。

如果您想顛倒順序,則可以從Z-> A進行訂購,您可以這樣做

ORDER BY City DESC

通常,在查詢中應用某種排序以進行顯示通常是一個好主意,否則結果將以隨機的不確定性順序返回,這幾乎是您想要的。

使用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);

您是否要求以相反的順序存儲字符串Locality,City,State,Country? 那么您不能使用排序來做到這一點。

如果將所有值作為逗號分隔的值存儲在單個字段中,則在C#中,您可以使用逗號作為分隔符來分隔字符串,然后通過使用逗號作為分隔符以相反的順序附加各項來再次連接它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM