void InternalGetClrVersions ()
{
char [] anychars = new char [] { ';', ')' };
string s = useragent;
ArrayList list = null;
int idx;
while ((s != null) && (idx = s.IndexOf (".NET CLR ")) != -1) {
int end = s.IndexOfAny (anychars, idx + 9);
if (end == -1)
break;
string ver = s.Substring (idx + 9, end - idx - 9);
Version v = null;
try {
v = new Version (ver);
if (clrVersion == null || v > clrVersion)
clrVersion = v;
if (list == null)
list = new ArrayList (4);
list.Add (v);
} catch { }
s = s.Substring (idx + 9);
}
if (list == null || list.Count == 0) {
clrVersion = new Version ();
clrVersions = null;
} else {
list.Sort ();
clrVersions = (Version []) list.ToArray (typeof (Version));
}
}