c# - 如何在没有 foreach 的情况下使“foreach(名称中的字符串 TXTname)”成为变量,还是需要 foreach?
问题描述
所以我试图将变量存储到文本文件中,以便我的程序可以稍后调用它们,但我需要这些文件设置名称,并且当我尝试它永远无法正常工作时。
我尝试在 foreach 循环中使用 foreach 循环,我尝试了很多东西,但所有这些都只是搞砸了变量数据
string[] lines = { name, FirstBlock, MonIstem, WedIstem, ThridBlock, FourthBlock, "Design Time", SixthBlock, TueIstem, ThurIstem, EighthBlock, NinthBlock, "Design Time", FriIstem };
string[] names = { "name", "FirstBlock", "MonIstem", "WedIstem", "ThirdBlock", "FourthBlock", "Design Time", "SixthBlock", "TueIstem", "ThurIstem", "EightBlock", "NinthBlock", "Design Time", "FriIstem", };
foreach (string TXTname in names)
{
Console.WriteLine($"Saving {TXTname}");
}
foreach (string line in lines)
{
string getNameOfVar = nameof(line);
using (FileStream bs = File.OpenWrite($@"C:\Users\gn193755\Documents\{TXTname}.txt"))
{
byte[] thing = new UTF8Encoding(true).GetBytes(line);
bs.Write(thing, 0, thing.Length);
}
}
没有错误消息,但是当我打开文本文件时,要么只有一个文本文件,要么它们都有相同的单词,或者它们只是乱码,我一直期待有正确的文件名和正确的文本。
解决方案
我太笨了,我做了更多的研究,发现了 .zip 的东西。
var lines = new [] { name, FirstBlock, MonIstem, WedIstem, ThridBlock, FourthBlock, "Design Time", SixthBlock, TueIstem, ThurIstem, EighthBlock, NinthBlock, "Design Time", FriIstem };
var names = new [] { "name", "FirstBlock", "MonIstem", "WedIstem", "ThirdBlock", "FourthBlock", "Design Time", "SixthBlock", "TueIstem", "ThurIstem", "EightBlock", "NinthBlock", "Design Time", "FriIstem", };
var linesAndnames = lines.Zip(names, (l, n) => new { Line = l, Name = n });
foreach (var ln in linesAndnames)
{
var path = $@"C:\Users\gn193755\Documents\{ln.Name}.txt";
File.WriteAllText(path, ln.Line);
}
}
推荐阅读
- authentication - Laravel 8 Jetstream / livewire。让密码重置表单接受用户名而不是电子邮件
- css - 危险地设置内部 html css 类
- ios - tableView重新加载时如何解决键盘问题?
- prometheus - 是否可以将例如 PROD 1 和 PROD 2 kubernetes 集群聚合到 Prometheus 中的一个仪表板中(使用 Grafana)?
- c++ - 如何计算这段代码的时间复杂度?
- node.js - 如何将 nodejs express typescript 应用程序部署到 Heroku?
- python - 从 a 中选择第一个元素
- dataweave - 使用 dataweave 2.0 将 JSON 数组转换为对象
- javascript - 在 JavaScript(ES5 或更低版本)中合并两个数组
- python - 使用映射列表进行多线程处理时获取列表中的下一项