Converting a boolean list to string, and vice versa I am currently using this to convert a List of booleans to a string

    var tempbllist = new List&lt;int&gt;();
        foreach (var t in blenabled)
            switch (t)
            {
                case true:
                    tempbllist.Add(1);
                    break;
                case false:
                    tempbllist.Add(0);
                    break;
            }

        Settings.Default.blEnabled = String.Join(",",
            tempbllist.Select(i =&gt; i.ToString(CultureInfo.InvariantCulture)).ToList());


(converts them to 1s and 0s to save space)

and this to convert them back

if (Settings.Default.blEnabled.Contains(","))
            blenabled =
                new List&lt;bool&gt;(
                    Settings.Default.blEnabled.Split(',').Select(Int32.Parse).Select(i =&gt; i == 1).ToList());


What is a better way of doing this?
How about this:

To Save:

Settings.Default.blEnabled = string.Join(",", blenabled.Select(x=&gt;x?"1":"0"));


To Load:

if(!string.IsNullOrWhitespace(Settings.Default.blEnabled))
  blenabled = Settings.Default.blEnabled
    .Split(',')
    .Select(x=&gt;Convert.ToBoolean(int.Parse(x)))
    .ToList();


Is there some requirement that you save them as integers?  It could be further simplified by just using bool.ToString() and bool.Parse()...