我有一个字符串
string partialCityName
和一个通用列表。
var city = List<City>
我想做两件事:
1. 根据名称过滤列表,我这样做是这样的:
var availableCities = cityList.Where(f => f.CityName.StartsWith(partialCityName));
2.根据上面的var“availableCities”获取一个字符列表,我就是这样做的。
var nextAvailableCharacters = avalibleCities .
Where(s => s.CityName.Length > partialCityName.Length).
Select(s => s.CityName.Substring(partialCityName.Length)[0]).ToList();
目前,这是以一种方法发生的,并且正在发挥作用。但是我试图理解设计模式,并试图实现策略模式。
所以第一个问题是,这是使用正确的模式吗?如果有怎么办?
这就是我到目前为止所得到的。
public interface IFilterStrategy
{
List<T> Filter<T>(List<T> filterThisData, string filter);
}
然后:
public class FilterCityStrategy : IFilterStrategy
{
public List<City> Filter<City>(List<City> filterThisData, string partialCityName)
{
//Fails to compile cityName not member of f
return filterThisData.Where(f => f.CityName.StartsWith(partialCityName));
}
}