我自己写的测试代码
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文档里标签值的,非得单独取得各个变量的值才行啊。,搞一天也没解决.
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文档里标签值的,非得单独取得各个变量的值才行啊。,搞一天也没解决.
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);
word标签不是string吧?你在代码里也不可能写1000个word标签的局部变量吧?
你可以把word标签放到数组里,而不是把标签里的字符串放数组里
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;
}
string[] str2 = { "aaa", "ccc" };
lz你看看你的str2里面就2个元素,你遍历也就才遍历2次,你结果匹配的肯定就只有2个。
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/>");
+2
aa=aaa ■
bb=bbb □
cc=ccc ■
dd=ddd □
ee=eee □想实现这样的效果。shijianjilvB 至少会用到吧