作者On1earth (小浅)
看板C_Sharp
标题[问题] Webform 中 Request.Form 的作法
时间Thu Jan 16 00:38:56 2014
在 C# 中常常看到一种作法,以 Request.Form 来说,
Request.Form["Key"] 可以取得 Key 的值,已经知道这是用 indexer 来实作,
Request.Form 则可以取得所有的键值,请问大家这要用什麽方式来做呢?
试过用 property,会出现「成员名称不能与它的封入型别名称相同」,
用 indexer 也行不通。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.243.191.58
1F:→ O2000:string this[string Key] 01/16 09:02
2F:→ ssccg:不懂你问题在哪,HttpRequest里面的Form是个property 01/16 14:16
3F:→ ssccg:type是NameValueCollection,用 Form[] 则是呼叫这个 01/16 14:16
4F:→ ssccg:NameValueCollection的indexer 01/16 14:16
public class User
{
public string Name;
public string Phone;
}
public class UserCollection
{
private List<User> user;
public UserCollection()
{
user = new List<User>();
}
public User this[string name]
{
get { return ; } // 传回 List<User> 中 Name 为 name 的 User Class
}
public List<User> AllUser
{
get { return user;}
}
}
UserCollection member = new UserCollection();
User jack = member["Jack"]; //取得 Jack 的资料
List<User> AllMember = member.AllUser; // 取得所有使用者资料
原本想的是能不能用 member 回传所有使用者资料?
不过打完这篇好像忽然懂大大说的,不可能用 member 取得所有使用者资料。
再请问大大,上面的做法好吗?用 List<T> 来存 Class
※ 编辑: On1earth 来自: 111.243.191.58 (01/16 21:49)
5F:→ Litfal:用Dictionary。除非你是想做Manager class。 01/17 00:42
6F:→ On1earth:谢谢大大,我了解了,用Dictionary比较方便 01/18 02:02