通过循环遍历我拥有的两个集合,我遇到了执行数据库的问题。请注意,这只是一个例子。
第一个系列包括:性别 - 男性,女性 第二个系列包括:名字 - 约翰,詹姆斯,迈克,斯泰西,宝拉
我用过循环例如:
for (int i = 0; i < genders.count; i++)
{
for (int j = 0, j < names.count; j++)
{
//call to stored procedure there
//parameters
//execute
}
}
有人可以建议如何区别对待吗?
答案 0 :(得分:3)
我没有看到问题,但如果你问你的方法是否可以改进,是的。
我只想使用具有这些属性的类(包含性别)。
class Person
{
public bool IsFemale { get; set; }
public string Name { get; set; }
}
现在,您可以创建单个集合,例如List<Person>
并循环播放。
var persons = new List<Person>() {
new Person{IsFemale=false, Name="john"},new Person{IsFemale=false, Name="james"},
new Person{IsFemale=true, Name="stacy"},new Person{IsFemale=true, Name="paula"}
};
foreach(Person p in persons)
{
//call to stored procedure there
//parameters
//execute
}
编辑:如果你有ADO.NET部分的问题,这是一个例子:
using (var con = new SqlConnection(connectionString))
using (var cmd = new SqlCommand("StoredProcedureName", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Gender", typeof(string));
cmd.Parameters.Add("@Name", typeof(string));
con.Open();
foreach (var person in persons)
{
cmd.Parameters["@Gender"].Value = person.IsFemale ? "female" : "male";
cmd.Parameters["@Name"].Value = person.Name;
cmd.ExecuteNonQuery();
}
}
答案 1 :(得分:0)
首先,为什么不创建自己的类?
class Person
{
private String name;
private String sex;
public Person(String name, String sex)
{
this.name = name;
this.sex = sex;
}
public String Name
{
get { return name; }
set { name = value; }
}
public String Sex
{
get { return sex; }
set { sex = value; }
}
}
然后创建一个人员列表
List<Person> people = new List<Person>();
people.add(new Person("Ashley", "Male"));
然后是一个foreach循环...
foreach(Person p in people)
{
Console.WriteLine(p.Name + " " + p.Sex);
}
你的问题很模糊,但这就是我要做的......