黑马程序员技术交流社区
标题:
List<String>问题
[打印本页]
作者:
mzh901024
时间:
2013-8-10 17:53
标题:
List<String>问题
List<String> comnameList = new List<string>();
List<String> comipList = new List<string>();
List<String> comcomList = new List<string>();
public void GetList(out List<string>comnameList, out List<string>comipList, out List<string>comcomList)
{
con.ConnectionString = @"User id=sa;pwd=.;database=db; ;server=(local)";
con.Open();
cmd.Connection = con;
cmd.CommandText = "select comname, ip, community from comindex";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
comnameList.Add(String.Format("{0}", reader[0]));
comipList.Add(String.Format("{0}", reader[1]));
comcomList.Add(String.Format("{0}", reader[2]));
}
reader.Close();
con.Close();
}
复制代码
出现错误:使用了未赋值的 out 参数“comcomList”
使用了未赋值的 out 参数“comipList”
使用了未赋值的 out 参数“comcomList”
是为啥???
作者:
心动行动
时间:
2013-8-10 21:55
本帖最后由 心动行动 于 2013-8-10 21:56 编辑
使用out传出参数的时候必须在方法内部对out后面的参数进行类型声明和赋值,你这里面没有你这种情况使用ref应该是可以的
作者:
心动行动
时间:
2013-8-10 21:56
你把out换成ref试试
作者:
彭家贰小姐
时间:
2013-8-10 22:14
第一种方法:用out
但GetList方法刚开始这样写:
comnameList = new List<string>();
comipList = new List<string>();
comcomList = new List<string>();
private void winTest_Loaded(object sender, RoutedEventArgs e)
{
List<String> comnameList = new List<string>();
List<String> comipList = new List<string>();
List<String> comcomList = new List<string>();
GetList(out comnameList, out comipList, out comcomList);
}
public void GetList(out List<string> comnameList, out List<string> comipList, out List<string> comcomList)
{
comnameList = new List<string>();
comipList = new List<string>();
comcomList = new List<string>();
string connStr = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM dbo.T_AreaFull WHERE AreaPid = 0";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
comnameList.Add(String.Format("{0}", reader[0]));
comipList.Add(String.Format("{0}", reader[1]));
comcomList.Add(String.Format("{0}", reader[2]));
}
}
}
}
复制代码
第二种方法:像楼上说的改用ref 就不报错了
2013-8-10 22-13-24.png
(5.84 KB, 下载次数: 35)
下载附件
2013-8-10 22:14 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2