void Search() { list.Clear(); RegistryKey rParentKey = null; try { string baseKeyName = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\"; // すべてのサブ・キー名を取得する rParentKey = localKey.OpenSubKey(baseKeyName); string[] arySubKeyNames = rParentKey.GetSubKeyNames(); foreach (string subKeyName in arySubKeyNames) { //Console.WriteLine(subKeyName); var value = localKey.OpenSubKey(baseKeyName + subKeyName).GetValue("ProfileName").ToString(); var key = baseKeyName; keyvalue item = new keyvalue { Key = key, Value = value, Name = subKeyName }; list.Add(item); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { rParentKey.Close(); } }
static void Main(string[] args) { List <keyvalue> list = new List <keyvalue>(); for (int i = 0; i < 16; i = i + 2) { keyvalue kv = new keyvalue() { key = keyvalues[i], value = keyvalues[i + 1] }; list.Add(kv); } //var findlist = from f in list // where searchword.Contains(f.key) // select new { f.key, f.value }; var grouplist = from f in list where searchword.Contains(f.key) group f by f.value into g orderby g.Count() descending select g.FirstOrDefault(); keyvalue first = grouplist.FirstOrDefault(); //var findlist = list.Where(o => searchword.Contains(o.key)).ToList(); //var grouplist = findlist.GroupBy(o => o.value).ToList(); //var desclist = grouplist.OrderByDescending(o => o.) for (int i = 0; i < 16; i = i + 2) { bool radd = AddItem(keyvalues[i], keyvalues[i + 1]); } MemoryCache cache = MemoryCache.Default; var vv = cache.ToList(); Console.ReadLine(); }