高手来回答循环问题呀

aa37742698 2009-03-31 08:20:04
List<string> ls=new List<string>();

ls里面的值 "1",2,3,4,5,3,6,7 当等于3的时候后面的值也存入有3的文本,一直到下个等于3 也就是 1,2一个文本 345 一个文本 367 一个文本 如果后面再有3的话 再存个文本
村文本的类已经写好 savefile(要追加的字符串) savefile(要追加的字符串,文本名字)现在关键是怎么循环
谁给点思路呀
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cl9876 2009-03-31
  • 打赏
  • 举报
回复
当遇到第一个3时保存位置,继续向下遍历,并合并字符串到第一个3里。
当找到第二个3时就保存这个位置,重复以上动作,直到ls结束。
wolf1118baby 2009-03-31
  • 打赏
  • 举报
回复
遇到3 以后先存储到一个变量里,把3后面的数字逐渐加入,
到了下一个三的时候把上面那个存3的变量写入文本,
清空 在记录下个3包括后面的数字,最后写入文本;
不知道我说的是不是你想要的!
caibirdyb 2009-03-31
  • 打赏
  • 举报
回复
大概写一下:
string temp = "";
ListItem li = List.Item;
foreach li in ls
{
if li == 3
{
写文件(temp);
}
else
{
temp += li;
}
}
rightyeah 2009-03-31
  • 打赏
  • 举报
回复
这种简单的算法,随便写写就是了
zgke 2009-03-31
  • 打赏
  • 举报
回复
循环到3就保存.. 不到3记录下来
string _Temp = "";
for (int i = 0; i != ls.Count; i++)
{
if (ls[i] == "3")
{
//SaveFile(_Temp,FileName);
_Temp = "3";
}
_Temp += ls[i];
}
bw555 2009-03-31
  • 打赏
  • 举报
回复
写个伪代码吧,c#不熟

创建新文本
loop
读取一个字符
if 字符=3 then
创建新文本
savefile(要追加的字符串)
else
savefile(要追加的字符串,文本名字)
end if
如果读完退出循环
end loop
aa37742698 2009-03-31
  • 打赏
  • 举报
回复
3 4 5 存一个文本 再遇见3了 就吧3和他后面不是3的存一起 这样更好理解
maggie3256 2009-03-31
  • 打赏
  • 举报
回复
string str1="";
for (int i = 0; i != ls.Count; i++)
{
if (ls[i] == "3")
{
savefile(str1);
str1 = ls[i];
}
else
{
str1 += ls[i];
}
if (i == ls.Count-1)
{
savefile(str1);
}
}

110,538

社区成员

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

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

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