string savePath = @"C:\Sys.txt";
using (FileStream file = new FileStream(savePath, FileMode.Append))
{
using (StreamWriter twf = new StreamWriter(file, Encoding.UTF8))
{
foreach (ManagementBaseObject avResult in avsearcher.Get())
{
pcAntivirus = "& " + (avResult.GetPropertyValue("displayName")).ToString();
pcAntivirus = (pcAntivirus.StartsWith("& ")) ? pcAntivirus.Substring(1) : pcAntivirus;
twf.WriteLine(" антивирус: " + pcAntivirus);
}
foreach (ManagementObject gr in gs.Get())
{
foreach (PropertyData pty in gr.Properties)
{
if (pty.Name == "Description")
{
pcGPU += pty.Value.ToString();
twf.WriteLine(" Видеоадаптер: " + pcGPU);
}
}
}
foreach (ManagementObject gob in sar.Get())
{
twf.WriteLine(" Модель компьютера: " + gob["Manufacturer"] + gob["Model"]);
}
IEnumerable<string> strings = avsearcher.Get().Select(avResult => avResult.ToDisplayName()) // это метод расширение, который делает нужную вам строку
.Concat(
gs.Get().SelectMany(gr => gr.Properties).Where(prt => prt.Name == "Description").Select(pry => prt.Value.ToString()) // здесь тоже можно использовать метод расширение
).Concat(
sar.Get().Select(gob => gob.ToDisplayName()) // тоже метод расширение
); // и т.д.
// ну а дальше можно уже даже через foreach или любым другим способом записать в twf