p是你自己定义的SqlParameter 对象啊,然后从pars里循环取值赋给p
这个是微软封装的你不用了解,你可以看看C#的装箱和拆箱特性。
只有继承了IEnumerable的数据类型才能用foreach具体操作,因为继承了IEnumerable的数据类型实现了MoveNext方法的,是通过MoveNext方法来实现的