Linq选择两个字符串之间的范围,例如Col thru Io

时间:2013-01-02 16:50:47

标签: string linq range

如何选择两个值之间的字符串范围,例如“Col”到“Io”的字符串。

所以,如果我要在美国境内的状态列表上执行此LINQ查询,它将返回

Colorado, 
Connecticut, 
Delaware, 
Flordia, 
Georgia, 
Hawaii, 
Idaho, 
Illinoise, 
Indiana

但由于“爱荷华州”在“Io”之后,因此不会归还爱荷华州。 此字符串是用户输入的,因此其长度可以变化,也可以为空白。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

要比较两个字符串,请使用string.Compare(string1,string2)

http://msdn.microsoft.com/en-us/library/system.string.compare.aspx

List<String> states = new List<String> { "Colorado", "Connecticut", "Delaware", "Flordia", "Georgia", "Hawaii", "Idaho", "Illinoise", "Indiana" };
List<String> filtered = states.Where(x => String.Compare(x, "D") > 0 && String.Compare(x, "If") < 0).ToList();