如何选择两个值之间的字符串范围,例如从“Col”到“Io”的字符串。
因此,如果我要对美国境内的州列表执行此 LINQ 查询,它将返回
Colorado,
Connecticut,
Delaware,
Flordia,
Georgia,
Hawaii,
Idaho,
Illinoise,
Indiana
但不会返回 Iowa,因为“Iowa”在“Io”之后。这个字符串是用户输入的,所以它的长度可以变化,或者可以是空白的。
有什么建议么?
要比较两个字符串,请使用 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();