How to get the Split value from collection? I have the following key value pair in an array, and am trying to extract and load them into a collection.

The below code is working but it can be optimized using Linq:

string _data = "Website=url:www.site1.com,isdefault:true,url:www.site2.com,isdefault:true";

List&lt;WebSiteAddress&gt; _websiteList = new List&lt;WebSiteAddress&gt;() ;
WebSiteAddress _website = new WebSiteAddress();

string[] _websiteData = _divider[1].Split('=');
string[] _WebsiteKeyValuePair = _websiteData[1].Split(',');

for (int j = 0; j &lt; _WebsiteKeyValuePair.Length; j++)
{
    string key = _WebsiteKeyValuePair[j].Split(':')[0];
    string value = _WebsiteKeyValuePair[j].Split(':')[1];

    if (key.ToLower() == "url")
    {
        _initWebsite.Url = value;
    }
    else if (key.ToLower() == "isdefault")
    {
        _website.IsDefault = Convert.ToBoolean(value);
        _websiteList.Add(_website);                    
    }
}
Naming
I don't get the _ underscore prefix. This typically identifies a private field (albeit controversial). I'm pretty sure there's a consensus about simple camelCasing for local identifiers.
The name _websiteList is a bad one, for two reasons:

It's of type WebSiteAddress, which has words Web and Site; the name isn't following the established casing convention, should be _webSiteList.
It's tying the variable to its type. Would the name still make sense if the type was WebSiteAddress[]?

A better name would be, simply, webSiteAddresses.
Typing
If you want to use LINQ, you're targeting .NET 3.5+. Therefore, you can use implicit typing to improve the readability (and possibly the maintainability) of your code (although that's possibly personal preference).
Consider:

var webSiteData = _divider[1].Split('=');


The SO answer gives you a nice LINQ-oriented approach.