[已解决问题] C#变量赋值的问题
提问时间: 2008-08-18 11:39
悬赏分:30 浏览:241 次
读取出4个值分别是电话(phone),手机(mobile),Email和QQ,这4个值中至少有1个值是空的(可能是多个),并且是不固定的,现在要赋值给变量“联系类型”和“联系方式”,linkType1和link1,linkType2和link2,linkType3和link3

===比如QQ是空值,那么结果应该是这样
linkType1 = "电话";
link1 = 电话号码(phone);

linkType1 = "手机";
link1 = 手机;

linkType1 = "email";
link1 = 电子邮件地址;
提问者:海洋 - 初学一级

问题补充:不想用IF的方法,还有读取出的是4个值,存入另一个表的只有3个值

最佳答案
感觉楼主是想自动进行赋值。 我用反射的方法实现了一下,用这种方法,不需要使用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
2008/8/19 8:34:34 回答者:eaglet


提问者对于答案的评价:非常感谢,就是想用反射的方法,可能是我没表达清除,感谢各位的回答
其它回答(5)
问题没有清楚还...
3个月前   回答者:重典 - 小虾三级
一头雾水还...
3个月前   回答者:Colin Han - 老鸟四级
为空给个默认值不就得了
3个月前   回答者:小眼睛老鼠 - 小虾三级
加个判断怎么样? if(!string.IsNullorEmpty(手机)){ ............. }
3个月前   回答者:丁学 - 专家六级
不想用IF的方法,看来就用Switch了。感觉还是If好
3个月前   回答者:huadust - 菜鸟二级
评论
3个月前   丁学 :
问题有些莫明,不想用if想来是因为你遇到什么困难
但你的问题并无法说明这一点
所以建议不妨把真实的需求和目的说出来,而不是单纯这样一个小例子
从这个例子来看,无论如何都应该是用if的
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题



> 问题排行榜

相关内容

相关链接