【发布时间】:2013-04-30 13:17:17
【问题描述】:
试图在一个类中使用一个方法,但我在设置它时遇到了麻烦。尝试设置一个字符串appstatus 方法,将字符串保存到appstatus,但首先必须为其设置值。我想最终从 sql 查询中将值设置为 appstatus 并稍后在我的列表中访问它们
public class SampleData
{
public SampleData()
{
}
public string name { get; set; }
public string phoneNbr { get; set; }
public string appstatus
{
get
{
return appstatus;
}
set
{
switch (appstatus)
{
case "A":
appstatus= "Yes";
break;
case "B":
appstatus= "No";
break;
case "E":
appstatus= "Need More Info";
break;
default:
appstatus= ("Unknown");
break;
}
}
}
...using (SqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
try
{
SampleData d1 = new SampleData();
d1.name = Convert.ToString(read["..."]);
d1.phoneNbr = Convert.ToString(read["..."]);
d1.appstatus = (Convert.ToString(read["..."]).Trim());
list.Add(d1);
}
}
}
【问题讨论】:
-
你有问题吗?
-
您需要一个支持字段。
-
您可以使用 List[index] 访问您保存在列表中的对象,其中 index 是一个数值,表示保存对象的位置。
-
这段代码会递归调用appstatus,尝试重构你的代码。更好的方法可能是使用 Dictionary
你可以映射你的字符串。
标签: c# class methods switch-statement case