如何在Linq查询中比较字符串

MBa*_*sit 6 c# linq argumentexception

CompareTo不适合我.

我的linq查询是

var result = from c in customers 
             where c.CustomerID.CompareTo(txtSerchId.Text) >= 0 
             select` c;
Run Code Online (Sandbox Code Playgroud)

而他们得到一个例外

//////例外///////////

System.ArgumentException was caught
Message=Value does not fall within the expected range.
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的

var result = 
    from c in customers 
    where c.CustomerID.CompareTo(txtSerchId.Text) >= 0 
    select c;

if (result != null)
{
    IEnumerator<Customer> resultEnum = result.GetEnumerator();
    while (resultEnum.MoveNext())
    {
        Customer c = (Customer)resultEnum.Current;
        addToDataSet(Guid.NewGuid().ToString(), c);
    }
    ShowResult();
}
else
{
    MessageBox.Show("No Customer found within criteria");
}
Run Code Online (Sandbox Code Playgroud)

异常就在这条线上

IEnumerator<Customer> resultEnum = result.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)

Ova*_*tri 6

试试这个 :

var query = from c in customers where c.CustomerID.Equals(txtSerchId.Text) select c;
Run Code Online (Sandbox Code Playgroud)

  • 我会建议 String.Equals (objA,objB) 而不是 objA.Equals(objB)。 (2认同)