namespace params可变参数 { class Program { static void Main(string[] args) { int[] num = {66, 99, 55, 44}; Test("老王", num); Test("老王", 55, 55, 55); //从方法哪里的参数可以知道,老王后面应该是数组,但是数组的内容一旦确定就不能修改了 // 但是要想改变数组的内容,要在方法里加上一个params可变参数(但是可变内容的类型要与数组类型相同),但是这个要放在方法的最后面, // 例如要添加一个学号 Console.ReadKey(); //int b=Sum(56,56,56,56); //Console.WriteLine(b); Console.ReadKey(); } public static void Test(string name, params int[] score) { int sum = 0; for(int i = 0; i < score.Length; i++) { sum += score[i]; } Console.WriteLine("我叫{0},我这次的总成绩{1}", name, sum); } public static int Sum(params int[] sum) { int a = 0; for(int i = 0; i < sum.Length; i++) { a += sum[i]; } return a; //Console.WriteLine(); } } }
==============================================================================================
有时候为图方便,会直接用sqlhelper文件进行相关操作,会出现如下的类:
public static object ExecuteScalar(string sqlStr, params SqlParameter[] parameters) { using(SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using(SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sqlStr; cmd.Parameters.AddRange(parameters); return cmd.ExecuteScalar(); } } }
调用方法一般有如下两种:
一、Add方法
SqlParameter sp = new SqlParameter("@name", "Pudding"); cmd.Parameters.Add(sp); sp = new SqlParameter("@ID", "1"); cmd.Parameters.Add(sp);
该方法每次只能添加一个SqlParameter。上述代码的功能是将ID值等于1的字段name更新为Pudding(人名)。
二、AddRange方法
SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@name", "Pudding"), new SqlParameter("@ID", "1") }; cmd.Parameters.AddRange(paras);
本人实际操作中无 cmd.Parameters.AddRange(paras) 因为在 ExecuteScalar方法中已经添加参数。
显然,Add方法在添加多个SqlParameter时不方便,此时,可以采用AddRange方法。
string strconn = "Data Source=xxx;user id=sa;pwd=;initial catalog=gltest"; SqlConnection Conn = new SqlConnection(strconn); Conn.Open(); string sql = "insert into users(name,pwd) values (@name,@pwd)"; SqlCommand cmd = new SqlCommand(sql, Conn); cmd.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@pwd", SqlDbType.NVarChar, 50)); cmd.Parameters["@name"].Value = this.TextBox1.Text; cmd.Parameters["@pwd"].Value = this.TextBox2.Text; cmd.ExecuteNonQuery(); Conn.Close(); comm.Parameters.Add()添加参数到参数集,add里面的第一个参数是要添加的参数名,第二个参数是参数的数据类型 Parameters的作用就是把存储过程执行结束后得到的参数传到程序里 第一个是参数名,第二个是参数类型,第三个是长度