используйте общий List<String>
bool msettingvalue=false;
string[] settings;
var s = new List<String>();
s.AddRange({"setting1","1","setting2","apple"});
if(msettingvalue)
s.AddRange({"msetting","true"});
settings = s.ToArray();
Но ... исходя из вида вашего массива, вам лучше использовать другую структуру для хранения этих вещей. Это ассоциативный массив, который вы хотите. Вы можете использовать Tuple
или Dictionary
, чтобы смоделировать настройки таким способом, который легче обрабатывать и который более точно отражает семантику.
bool msettingvalue=false;
var settings = new Dictionary<String,String>();
settings.Add("setting1","1");
settings.Add("setting2","value2");
if(msettingvalue)
settings.Add({"msetting","true");
... последние две строки могут быть даже.
settings.Add({"msetting",msettingvalue.ToString());