Any help here as I’m a C# noob. The following code works fine and returns 1 string ViewState2. I’d like it to return an array of ViewState2 and EventValidation2 so I can manipulate it later on. How would I convert the code below to return an array?
public string get_status(string local_fname)
{
var dts_doc = new HtmlAgilityPack.HtmlDocument();
dts_doc.Load(local_fname);
//Pull the values
var ViewState = dts_doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/div[1]/input[4]/@value[1]");
var EventValidation = dts_doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/div[2]/input[1]/@value[1]");
string ViewState2 = ViewState.Attributes[3].Value;
string EventValidation2 = EventValidation.Attributes[3].Value;
//Display the values
//System.Console.WriteLine(ViewState.Attributes[3].Value);
//System.Console.WriteLine(EventValidation.Attributes[3].Value);
//System.Console.ReadKey();
return ViewState2;
}
If you really want an array with
ViewState2andEventValidation2in it, you can make the following changes:And:
That said, this is really the “quick and dirty” approach, and is not really appropriate if you’re going to want this code to be maintainable (when’s the last time you read documentation on a function that “returns an array of length 2, with a string representing X as the first element and another string representing Y as the second”?).
Femaref’s right; the correct thing to do would be to encapsulate the information you want returned in its own type.