星辰.Net技术社区--C#变量赋值的问题

网站首页 » 百科首页 » CSharp »

C#变量赋值的问题

相关文章推荐:
  1. 如何把string解析为int?
  2. C# String小技巧
  3. 详述字符串之.NET Framework String 类
  4. 如何改善C#代码执行效率(二):深入理解string和如何高效地使用string
  5. C#--String.Format格式说明
相关问题推荐:
  1. 整数转字符串问题
  2. 想写个扩展方法,不太会请教一下
  3. 求一正则
  4. 如果写个程序将数据库数据导入记事本?
  5. 如何返回一个数组已赋值元素的个数
问题内容--提问时间: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