Если вы действительно не хотите использовать словарь, вы можете воспользоваться этой функцией:
private static string[] AddSettings(ref string[] settings, params string[] SettingsToAdd)
{
int length = SettingsToAdd.Length;
if (length%2 !=0)
{
throw new ArgumentException("Invalid number of elements");
}
int OldLength = settings.Length;
int NewLength = settings.Length + length;
Array.Resize(ref settings, NewLength);
for (int i = OldLength; i < NewLength; i++)
{
settings[i] = SettingsToAdd[i - OldLength];
}
return settings;
}
РЕДАКТИРОВАТЬ: Или эта версия, основанная на ответе вашего другого поста:
private static string[] AddSettings(ref string[] settings, params string[] SettingsToAdd)
{
int length = SettingsToAdd.Length;
if (length%2 !=0)
{
throw new ArgumentException("Invalid number of elements");
}
else
return settings.Concat(SettingsToAdd).ToArray();
}
и его использование:
bool msettingvalue = true;
string[] settings;
settings = new string[]{
"setting1","1",
"setting2","apple"};
if (msettingvalue)
{
settings= AddSettings(ref settings,"setting1", "value1", "setting2", "value2", "setting3", "value3");
}
Затем вы можете добавить столько значений, сколько пожелаете, и число должно быть кратным 2, если нет, то выдаетсяисключение