一尘不染

LINQ中的IN子句

c#

如何使where in子句类似于SQL Server中的in子句?

我一个人做,但是有人可以改善吗?

    public List<State> Wherein(string listofcountrycodes)
    {
        string[] countrycode = null;
        countrycode = listofcountrycodes.Split(',');
        List<State> statelist = new List<State>();

        for (int i = 0; i < countrycode.Length; i++)
        {
            _states.AddRange(
                 from states in _objdatasources.StateList()
                 where states.CountryCode == countrycode[i].ToString()
                 select new State
                 {
                    StateName  = states.StateName

                 });
        }
        return _states;
    }

阅读 217

收藏
2020-05-19

共1个答案

一尘不染

此表达式应该可以实现您想要的目标。

dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
2020-05-19