把字符串写入文本文件的问题

strings=null;foreach(List<string>listStrinarrText)//arrText为List<List<string>>{foreac... string s = null;
foreach (List<string> listStr in arrText) //arrText为List<List<string>>
{
foreach (string str in listStr)
{
s = s + str + ";"; //把listStr中的每个字符串用";"隔开
}
sw.WriteLine(s); //sw为写入文件实例
s = s.Remove(0,s.Length); //清空s字符串,以备下次使用
}请问为什么上述代码写出的文件为空?其中arrText内容不为空、listStr中也是有字符串的;如果注释掉“ s = s.Remove(0,s.Length);”,写出的文件就不为空,但从第二行开始,每写一行,就会重复上一行的内容。
展开
 我来答
匿名用户
2013-08-29
展开全部
s = s + str + ";"; //把这句话改为s=str+";";s = s.Remove(0,Length); //把这句话去掉/*建议使用StringBuild(好像C#中的叫这个,你应该知道吧就是那个带缓存的可变的字符串),最好使用它的append方法去追加字符串,完成追加后将整个字符串写入文本这样程序的效率会提高。 */
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1358326322chao
2017-01-04
知道答主
回答量:1
采纳率:0%
帮助的人:1046
展开全部
写文件的操作怎么可能在foreach循环里面,肯定是将这个字符串通过foreach循环赋值完成之后一次写入文件,在foreach循环里面,当然是每写一行会重复上一行的内容,因为你的循环决定了后一行是在前一行的基础上累加的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-29
展开全部
s = s.Remove(0,s.Length); 你把这句换成s.Length=0;试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-29
展开全部
在最外面加上一个sw.close(); 没有关闭数据流 是无法写入数据的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式