在c#中声明splitd字符串中的变量,并在这些字符串之间搜索db行

我有搜索功能等要求,
编辑:搜索就像一组varchars,通常这个ID包含C001,C002等值…

因此,如果用户输入C001-C010这样的范围,它应该在oracle db中搜索C001-C010之间的所有行,这就是我的要求.

如果用户在文本框中输入某些范围如C001-C010,则应将其拆分为两个变量,并且应搜索此范围之间的所有元素.

这该怎么做.我认为使用Enumerator范围我们可以做到这一点但我面临的问题就像拆分字符串需要声明为单独的变量并在它之间进行搜索.这是我无法实现的.

示例代码如下.

            else if (!_search.MultipleId.Contains('-'))
            {
                filterExp = filterExp.And(x => x.Id.Contains(_search.MultipleId));
            }
最佳答案
如果Id的格式为CXXX,那么您可以执行以下操作:

    if(_search.MultipleId.Contain("-"))
{
var range = _search.MultipleId.Split('-');
filterExp = filterExp.And(x => x.Id >= range[0] && x.Id <= range1);
}

转载注明原文:在c#中声明splitd字符串中的变量,并在这些字符串之间搜索db行 - 代码日志