我自己写的测试代码
            string shijianjilv = "■";
            string shijianjilvB = "□";
            string aa = "aaa";
            string bb = "bbb";
            string cc = "ccc";
            string dd = "ddd";
            string ee = "eee";
            string[] str1 = { aa, bb, cc, dd, ee };
            string[] str2 = { "aaa", "ccc" };            foreach (string sb in str2)
            {
                if (aa == sb)
                {
                    aa = aa + shijianjilv;
                }
                else if (bb == sb)
                {                    bb = bb + shijianjilv;
                }
                else if (cc == sb)
                {
                    cc = cc + shijianjilv;
                }
                else if (dd == sb)
                {
                    dd = dd + shijianjilv;
                }
                else if (ee == sb)
                {
                    ee = ee + shijianjilv;
                }
            }
            Response.Write(aa + "<br/>" + bb + "<br/>" + cc + "<br/>" + dd + "<br/>" + ee + "<br/>");
输出结果是:
  aa=aaa ■
  bb=bbb
  cc=ccc ■
  dd=ddd
  ee=eee
   本人太菜了,这是我自己写了一段代码,怎么判断让结果等于
aa=aaa ■
bb=bbb □
cc=ccc ■
dd=ddd □
ee=eee □我这样写实要替换word文档里标签值的,非得单独取得各个变量的值才行啊。,搞一天也没解决.

解决方案 »

  1.   

                string aa = "aaa";
                string bb = "bbb";
                string cc = "ccc";
                string dd = "ddd";
                string ee = "eee";
                Dictionary<string, string> str1 = new Dictionary<string, string>()
                {
                    { "aa", aa },
                    { "bb", bb }, 
                    { "cc", cc },
                    { "dd", dd }, 
                    { "ee", ee }
                };
                string[] str2 = { "aaa", "ccc" };            str1 = str1.Select(x => new { Key = x.Key, Value = str2.Contains(x.Value) ? x.Value + " ■" : x.Value + " □" }).ToDictionary(x => x.Key, y => y.Value);
                string s = "";
                str1.ToList().ForEach(x => { s += x.Key + "=" + x.Value + "<br />\r\n"; });
                Response.Write(s);
      

  2.   

    本帖最后由 caozhy 于 2011-05-30 21:22:24 编辑
      

  3.   

    又发了一遍?
    word标签不是string吧?你在代码里也不可能写1000个word标签的局部变量吧?
    你可以把word标签放到数组里,而不是把标签里的字符串放数组里
      

  4.   


            static void Main(string[] args)
            {
                string aa = "aaa";
                string bb = "bbb";
                string cc = "ccc";
                string dd = "ddd";
                string ee = "eee";            string[] str2 = { "aaa", "ccc" };            Replace(ref aa, str2);
                Replace(ref bb, str2);
                Replace(ref cc, str2);
                Replace(ref dd, str2);
                Replace(ref ee, str2);            Console.WriteLine(aa);
                Console.WriteLine(bb);
                Console.WriteLine(cc);
                Console.WriteLine(dd);
                Console.WriteLine(ee);
            }        const string shijianjilv = "■";
            const string shijianjilvB = "□";        static void Replace(ref string str, string[] arr)
            {            str += Array.IndexOf(arr, str) > -1 ? shijianjilv : shijianjilvB;
            }
      

  5.   

    你觉得string shijianjilvB = "□";你用到了吗?
      

  6.   

    你代码写错了,你遍历的是str2,应该遍历str1才是你想要的结果。
      

  7.   

    你试试遍历str1能取到值吗?不可能。
    string[] str2 = { "aaa", "ccc" };
    lz你看看你的str2里面就2个元素,你遍历也就才遍历2次,你结果匹配的肯定就只有2个。
      

  8.   


     string shijianjilv = "■";
                string shijianjilvB = "□";
                string aa = "aaa";
                string bb = "bbb";
                string cc = "ccc";
                string dd = "ddd";
                string ee = "eee";
                string[] str1 = { aa, bb, cc, dd, ee };
                string[] str2 = { "aaa", "ccc" };            foreach (string sb in str2)
                {
                    if (aa == sb)
                    {
                        aa = aa + shijianjilv;
                    }
                    else if (bb == sb)
                    {                    bb = bb + shijianjilvB ;
                    }
                    else if (cc == sb)
                    {
                        cc = cc + shijianjilv;
                    }
                    else if (dd == sb)
                    {
                        dd = dd + shijianjilvB ;
                    }
                    else if (ee == sb)
                    {
                        ee = ee + shijianjilvB ;
                    }
                }
                Response.Write(aa + "<br/>" + bb + "<br/>" + cc + "<br/>" + dd + "<br/>" + ee + "<br/>");
      

  9.   


    +2
    aa=aaa ■
    bb=bbb □
    cc=ccc ■
    dd=ddd □
    ee=eee □想实现这样的效果。shijianjilvB 至少会用到吧