Nie wiem czy to te 12 godzin programowania mnie tak zmęczyła ,ale mam wrażenie ,że nie poradzę sobie z tym.
Co zrobić by metoda zwracała 2 argumenty do tego sam doszedłem
public KeyValuePair<string[],string[]> FindStations(int RegionID,int ItemID,int Ammount)
{
Webrequest = Webrequest2.Replace("34", ItemID.ToString());
Webrequest = Webrequest2.Replace("10000054", RegionID.ToString());
Webrequest = Webrequest2.Replace("999", Ammount.ToString());
string[] HighestPrices;
string[] StationNames;
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Webrequest);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();
//IEnumerable<string> prices = (from price in XElement.Parse(result).Descendants("buy_orders").Descendants("order") select (string)price.Element("price")).ToArray();
HighestPrices = (from price in XElement.Parse(result).Descendants("buy_orders").Descendants("order") select (string)price.Element("price")).ToArray();
MessageBox.Show(HighestPrices.ToString());
StationNames = (from station_name in XElement.Parse(result).Descendants("buy_orders").Descendants("order") select (string)station_name.Element("station_name")).ToArray();
MessageBox.Show(StationNames.ToString());
Webrequest2 = "http://api.eve-central.com/api/quicklook?typeid=34®ionlimit=10000054&setminQ=999";
return new KeyValuePair<string[],string[]>(HighestPrices,StationNames);
}
Podobno to powinno zadziałać.
Metoda ma zwrócić StationNames jako array bo stacji może być nie wiadomo ile i tyle samo HighestPrices niech też będzie w string array...
Tą metodę "FindStations" wywołuję w innej klasie w buttonie
private void SearchButton_Click(object sender, EventArgs e)
{
string RegionName = comboBox1.Text;
string Ammount = AmmountTextBox.Text;
int ArrayLenght = 0;
for (int i = 0; i < RegionNames.Length; i++)
{
if (RegionNames[i] == RegionName)
{
ArrayLenght = i;
break;
}
}
UpdateStations.FindStations(RegionIDs[ArrayLenght], ItemListView.ItemNumber, Ammount);
}
I szczerze nawet nie wiem jak wywołać taką metodę....."kompilator"( =D ) mi pokazuje ,że źle wywołuję...
I proszę jak tłumaczycie to jak głąbowi....