Nai*_*gel 3 c# arrays parameters function list
我正在编写一个简单的C#类来处理特定竞赛中的SQL查询.大多数查询将是SELECT3-4个参数的语句,应该正确转义,所以函数将是这样的
public DataTable Select(string query, string[] parameters) {
# some code
}
Run Code Online (Sandbox Code Playgroud)
应该parameters是一个Array还是一个List<>?在这两种类型作为功能参数进行选择时是否有一些最佳实践,还是只是偏好问题?
PS我通常更喜欢List<>因为灵活性,但在这里创造一个动态的可能性Array是一个好点.
Say*_*yse 11
您应该使用IEnumerable,然后它可以是两者list并array实现它
public DataTable Select(string query, IEnumerable<string> parameters)
Run Code Online (Sandbox Code Playgroud)
他们也都实现IList和ICollection,可能提供其他有用的特性在评论中所示添Schmelter
根据鲁棒性原则,或 Postel 定律(强调我的):
做事要保守,从别人那里接受的要自由
换句话说,尽可能使用“最广泛”的类型,即继承层次结构中较高的类型,以便:
在这种情况下:
IEnumerable<T>.ICollection<T>将是最自由的选择IList<T>.