遍历两个数组,取出值的问题。。。泪奔中。

madelaop5566 2011-05-30 09:14:53
我自己写的测试代码


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文档里标签值的,非得单独取得各个变量的值才行啊。,搞一天也没解决.
...全文
250 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengjia2284 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kid_wang 的回复:]
你觉得string shijianjilvB = "□";你用到了吗?
[/Quote]

+2
aa=aaa ■
bb=bbb □
cc=ccc ■
dd=ddd □
ee=eee □

想实现这样的效果。shijianjilvB 至少会用到吧
缭绕飘渺 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kid_wang 的回复:]

你觉得string shijianjilvB = "□";你用到了吗?
[/Quote]
对,+1
kingdom_0 2011-05-31
  • 打赏
  • 举报
回复

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/>");


Tragedy 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lbc2247117 的回复:]
你代码写错了,你遍历的是str2,应该遍历str1才是你想要的结果。
[/Quote]
你试试遍历str1能取到值吗?不可能。
string[] str2 = { "aaa", "ccc" };
lz你看看你的str2里面就2个元素,你遍历也就才遍历2次,你结果匹配的肯定就只有2个。
lbc2247117 2011-05-31
  • 打赏
  • 举报
回复
你代码写错了,你遍历的是str2,应该遍历str1才是你想要的结果。
kid_wang 2011-05-31
  • 打赏
  • 举报
回复
你觉得string shijianjilvB = "□";你用到了吗?
我姓区不姓区 2011-05-30
  • 打赏
  • 举报
回复

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;
}


madelaop5566 2011-05-30
  • 打赏
  • 举报
回复
我不会啊 谢谢2楼的大哥 我回去试试
我姓区不姓区 2011-05-30
  • 打赏
  • 举报
回复
又发了一遍?
word标签不是string吧?你在代码里也不可能写1000个word标签的局部变量吧?
你可以把word标签放到数组里,而不是把标签里的字符串放数组里
threenewbee 2011-05-30
  • 打赏
  • 举报
回复
这样也可以
            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);
aa = str1["aa"];
bb = str1["bb"];
cc = str1["cc"];
dd = str1["dd"];
ee = str1["ee"];
Response.Write(aa + "<br/>" + bb + "<br/>" + cc + "<br/>" + dd + "<br/>" + ee + "<br/>");
threenewbee 2011-05-30
  • 打赏
  • 举报
回复
            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);

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧