How do i loop over the List and retrive the information ?

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
<pre class="prettyprint string[] xFrames = new string[wocl.Count];
string[] yFrames = new string[wocl.Count];

string X="";
string Y="";
for (int i = 0; i < wocl.Count; i++)
{
X = string.Format("Frame_X_{0} ", i + 1);
Y = string.Format("Frame_Y_{0} ", i + 1);

for (int j = 0; j < wocl.Point_X.Count; j++)
{
xFrames += string.Format("{0},", wocl.Point_X[j]);
yFrames += string.Format("{0},", wocl.Point_Y[j]);


}

string tt = xFrames.Trim(",".ToCharArray());
string yy = yFrames.Trim(",".ToCharArray());



setting_file.SetKey(X, tt);
setting_file.SetKey(Y, yy);

}[/code]
Now tt is a string of number for example 122,33,44,55,121
Now i need to parse the numbers back. Now i need to take the string and parse the numbers and put them back to a float List:

List<float> a = setting_file.GetKey(X);
But X is a key that present a string of numbers not a List of numbers.
This is the code in the OptionsFile of the functions GetKey and SetKey:

<pre class="prettyprint /*----------------------------------------------------------
* Function : GetKey
* Description : gets the value of the key.
* Parameters : key
* Return : value of the key if key exist, null if not exist
* --------------------------------------------------------*/
public string GetKey(string key)
{

// string value_of_each_key;
string key_of_each_line;
string line;
int index;
string key_value;
key_value = null;

sr = new StreamReader(Options_File);
while (null != (line = sr.ReadLine()))
{


index = line.IndexOf("=");


// value_of_each_key = line.Substring(index+1);



if (index >= 1)
{
key_of_each_line = line.Substring(0, index);
if (key_of_each_line == key)
{
key_value = line.Substring(key.Length + 1);
}

}
else
{
}


}
sr.Close();
return key_value;
}


/*----------------------------------------------------------
* Function : SetKey
* Description : sets a value to the specified key
* Parameters : key and a value
* Return : none
* --------------------------------------------------------*/
public void SetKey(string key , string value)
{
bool key_was_found_inside_the_loop;
string value_of_each_key;
string key_of_each_line ;
string line;
int index;
key_was_found_inside_the_loop = false;

temp_settings_file = "\temp_settings_file.txt";
temp_settings_dir = path_exe + @"temp_settings";
if (!Directory.Exists(temp_settings_dir))
{
Directory.CreateDirectory(temp_settings_dir);
}

sw = new StreamWriter(temp_settings_dir+temp_settings_file);
sr = new StreamReader(Options_File);
while (null != (line = sr.ReadLine()))
{

index = line.IndexOf("=");
key_of_each_line = line.Substring(0, index);
value_of_each_key = line.Substring( index + 1);
// key_value = line.Substring(0,value.Length);
if (key_of_each_line == key)
{
sw.WriteLine(key + " = " + value);
key_was_found_inside_the_loop = true;

}
else
{
sw.WriteLine(key_of_each_line+"="+value_of_each_key);
}

}

if (!key_was_found_inside_the_loop)
{
sw.WriteLine(key + "=" + value);
}
sr.Close();
sw.Close();
File.Delete(Options_File);
File.Move(temp_settings_dir + temp_settings_file, Options_File);
return;

}[/code]
What i need is that in the List<float> a it will contain the numbers from the string X

X is like a key the result in SetKey function is a Key = Value
For example : Hello = 122,33,44,55,66 Hello is like the variable X its the key and on the right hand the numbers are the key values.
So now i need to get the key X values and put them into the List<float>

Cant figure out how to do it.



View the full article
 
Back
Top