我有一个名为的主类theGarage,它包含我们的客户,供应商和工作类的实例.
我想将程序数据保存到XML文件,我使用了下面的代码(只是一个片段,我有其他类的匹配代码).我想知道是否有一种更简单的方法来执行此操作,例如将整个theGarage类写入XML文件并将其读入,而不必像下面那样编写所有这些代码.
public void saveToFile()
{
using (XmlWriter writer = XmlWriter.Create("theGarage.xml"))
{
writer.WriteStartDocument();
///
writer.WriteStartElement("theGarage");
writer.WriteStartElement("Customers");
foreach (Customer Customer in Program.theGarage.Customers)
{
writer.WriteStartElement("Customer");
writer.WriteElementString("FirstName", Customer.FirstName);
writer.WriteElementString("LastName", Customer.LastName);
writer.WriteElementString("Address1", Customer.Address1);
writer.WriteElementString("Address2", Customer.Address2);
writer.WriteElementString("Town", Customer.Town);
writer.WriteElementString("County", Customer.County);
writer.WriteElementString("PostCode", Customer.Postcode);
writer.WriteElementString("TelephoneHome", Customer.TelephoneHome);
writer.WriteElementString("TelephoneMob", Customer.TelephoneMob);
//begin vehicle list
writer.WriteStartElement("Vehicles");
foreach (Vehicle Vehicle in Customer.Cars)
{
writer.WriteStartElement("Vehicle");
writer.WriteElementString("Make", Vehicle.Make);
writer.WriteElementString("Model", Vehicle.Model);
writer.WriteElementString("Colour", Vehicle.Colour);
writer.WriteElementString("EngineSize", Vehicle.EngineSize);
writer.WriteElementString("Registration", Vehicle.Registration);
writer.WriteElementString("Year", Vehicle.YearOfFirstReg);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我需要在VB.net 2010中设置一个窗口来显示屏幕前面的代码.
我想要实现的是显示紧急警报类型,它是一种形式,由于某些原因我没有使用消息框.
有人建议使用以下代码,但这不起作用:
Private Sub frmMessage_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.BringToFront()
End Sub
Run Code Online (Sandbox Code Playgroud) 我使用VB.net来ping域/ IP,使用以下代码;
My.Computer.Network.Ping(Address, 1000)
Run Code Online (Sandbox Code Playgroud)
我现在想在域/ IP中添加一个端口 - 例如google.co.uk:21
我该怎么做?
我现在有这段代码:
totalCost = fuelPrice * purchaseVolume;
totalCost = Math.Round(totalCost, 2);
Console.WriteLine("Total Cost = £" + totalCost);
Run Code Online (Sandbox Code Playgroud)
如果燃油价格为1.15且成交量为2,console.writeline则表示总成本为2.3英镑,而不是我想要达到的2.30.我究竟做错了什么?
我有以下代码:
aVariable = int.Parse(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
我遇到的一个问题是我找不到任何支持材料来帮助验证用户输入,例如,如果用户按下了字母a,这只会杀死程序.
我能做什么?我在哪里可以找到一个体面的教程?
我正在努力解决以下问题.我目前有三种形式,我的主要和一个主要类.
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
}
public partial class frmSuppliers : Form
{
public frmSuppliers()
{
InitializeComponent();
}
}
public partial class frmCustomers : Form
{
public frmCustomers()
{
InitializeComponent();
}
}
Run Code Online (Sandbox Code Playgroud)
在我的主程序中,我有:
public class Program
{
public StockControl StockSystem = new StockControl("The Book Shop", 20);
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在frmSuppliers和frmMain中访问StockControl中的方法.
我知道这可能是一个N00b问题 - 但它一直困扰着我!
当我尝试将用户输入作为字符串时,我收到一个奇怪的错误.
我有正确的包括;
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
Run Code Online (Sandbox Code Playgroud)
这是代码,执行时我得到错误;
write("Enter your name");
string name = readString();
write(name);
Run Code Online (Sandbox Code Playgroud)
上面的代码调用了这两个函数;
void game::write(std::string message)
{
cout << message << "\n";
}
string game::readString()
{
string userInput = NULL;
std::cin >> userInput;
return userInput;
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:

我尝试重新构建解决方案 - 我应该使用char数组而不是字符串作为我的应用程序中文本的数据容器吗?