我如何从C#中的类中返回多个值,我尝试过以下方式,但它对我没用。
protected static string setvalues;
public static string myfunction()
{
cmd = new SqlCommand("SELECT * FROM category", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
setvalues = dr[0].ToString();
}
con.Close();
return setvalues.ToString();
}
我在分类表中有以下内容
Mobiles
Laptops
Cloths
DVD players
Televisions
Cameras
任何人都可以帮我构建一个可以返回数千个值的代码。
答案 0 :(得分:4)
您希望使用带有List<String>
的迭代器返回IEnumerable<string>
(或yield return
)
答案 1 :(得分:1)
C#语言中的List类型可以解决上述问题。使用List,您无需自行管理大小
protected static List<string> listSetValues = new List<string>();
public static List<string> myfunction()
{
cmd = new SqlCommand("SELECT * FROM category", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
listSetValues.Add(dr[0].ToString());
}
con.Close();
return listSetValues;
}
答案 2 :(得分:0)
是的,您可以在.net 4.0中使用Tuple类。 Forexample,
var population = new Tuple<string, int, int, int, int, int, int>(
"New York", 7891957, 7781984,
7894862, 7071639, 7322564, 8008278);
或
var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278);
有关Tuple类的属性和功能的更多信息,请访问Tuple Class on MSDN