Информация об оперативной памяти - C#
Формулировка задачи:
Пишу простейшую программу для вывода информации об оперативной памяти, но столкнулся с такой проблемой, что при сохранении выведенных на экран данных программа сохраняет их не полностью.Помогите решить пожалуйста.
P.S И еще подскажите почему если в цикл
написать Console.WriteLine("Что либо"), то консолька это продублирует 2 раза
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
using System.IO;
namespace ram
{
class Program
{
static void Main(string[] args)
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
Console.WriteLine("PhysicalMemory");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine(" Bank: {0} ; Capacity: {1} Gb; Speed: {2} ; SerialNumber: {3}; ", queryObj["BankLabel"], Math.Round(System.Convert.ToDouble(queryObj["Capacity"]) / 1024 / 1024, 2),
queryObj["Speed"], queryObj["SerialNumber"] );
StreamWriter str = new StreamWriter(@"C:\\Ram.txt");
strmw.WriteLine( "Bank: {0} ; Capacity: {1} Gb; Speed: {2} ; SerialNumber: {3}; ", queryObj["BankLabel"], Math.Round(System.Convert.ToDouble(queryObj["Capacity"]) / 1024 / 1024, 2),
queryObj["Speed"], queryObj["SerialNumber"]);
str.Close();
}
Console.WriteLine(" Для продолжения нажмите любую клавишу...");
Console.ReadLine();
}
}
} foreach (ManagementObject queryObj in searcher.Get())
{
}Решение задачи: «Информация об оперативной памяти»
textual
Листинг программы
static void Main(string[] args)
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
Console.WriteLine("PhysicalMemory");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine(" Bank: {0} ; Capacity: {1} Gb; Speed: {2} ; SerialNumber: {3}; ", queryObj["BankLabel"], Math.Round(System.Convert.ToDouble(queryObj["Capacity"]) / 1024 / 1024, 2),
queryObj["Speed"], queryObj["SerialNumber"]);
using (StreamWriter str = new StreamWriter(@"C:\Ram.txt",true))
{
str.WriteLine("Bank: {0} ; Capacity: {1} Gb; Speed: {2} ; SerialNumber: {3}; ", queryObj["BankLabel"], Math.Round(System.Convert.ToDouble(queryObj["Capacity"]) / 1024 / 1024, 2),
queryObj["Speed"], queryObj["SerialNumber"]);
}
}
Console.WriteLine(" Для продолжения нажмите любую клавишу...");
Console.ReadLine();
}