问题内容--提问时间:2008-8-18 11:39:00
读取出4个值分别是电话(phone),手机(mobile),Email和QQ,这4个值中至少有1个值是空的(可能是多个),并且是不固定的,现在要赋值给变量“联系类型”和“联系方式”,linkType1和link1,linkType2和link2,linkType3和link3
===比如QQ是空值,那么结果应该是这样
linkType1 = "电话";
link1 = 电话号码(phone);
linkType1 = "手机";
link1 = 手机;
linkType1 = "email";
link1 = 电子邮件地址;
答案
感觉楼主是想自动进行赋值。
我用反射的方法实现了一下,用这种方法,不需要使用If 判断,可以任意增加和减少输入的字段,也可以任意增加和减少输出字段。
另外联系这个词英文最好是使用 Contact.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace TestCosole
{
class Input
{
private string _Phone;
private string _Mobile;
private string _Email;
private string _QQ;
static private Dictionary<string, string> _LinkTypeDict;
static public string GetLinkType(string name)
{
if (_LinkTypeDict.ContainsKey(name))
{
return _LinkTypeDict[name];
}
else
{
return null;
}
}
public string Phone
{
get
{
return _Phone;
}
set
{
_Phone = value;
}
}
public string Mobile
{
get
{
return _Mobile;
}
set
{
_Mobile = value;
}
}
public string Email
{
get
{
return _Email;
}
set
{
_Email = value;
}
}
public string QQ
{
get
{
return _QQ;
}
set
{
_QQ = value;
}
}
public Input()
{
if (_LinkTypeDict == null)
{
_LinkTypeDict = new Dictionary<string, string>();
_LinkTypeDict.Add("Phone", "电话");
_LinkTypeDict.Add("Mobile", "手机");
_LinkTypeDict.Add("Email", "Email");
_LinkTyp