我有一个餐厅的字典,格式如下:
假设我有25个记录,其中可以分为3、4或5组具有相同类型的餐厅。现在我想从中选择每种类型的一个随机元素。
我已经找到了这个页面,它解释了如何从字典中选择随机值,但我该如何选择每个类型的一个随机条目?
如果需要更多说明或其他信息,请告诉我!
编辑:我的代码示例:
例如:可能的类型可以是
Dictionary<Restaurant, string>
其中,Restaurant是我的类名,为简单起见,我使用字符串表示我的餐厅类型。假设我有25个记录,其中可以分为3、4或5组具有相同类型的餐厅。现在我想从中选择每种类型的一个随机元素。
我已经找到了这个页面,它解释了如何从字典中选择随机值,但我该如何选择每个类型的一个随机条目?
如果需要更多说明或其他信息,请告诉我!
编辑:我的代码示例:
Dictionary<Restaurant, string> restaurants = new Dictionary<Restaurant, string>();
randomRestaurants.Add(restaurants.GroupBy(x => x.string).//Randomly pick an entry per grouping and add it to list//
List<Restaurant> randomRestaurants = new List<Restaurant>();
例如:可能的类型可以是
意大利菜
,快餐
和寿司
我想为提出另一个令人困惑的问题道歉。在发布之前,我会更加注意。
Dictionary<string,List<Restaurant>>
,以便您可以使用它。 - user47589var sensibleDict = sillyDict.GroupBy(kv => kv.Value).ToDictionary(m => m.Key, m => m.Select(kv => kv.Key).ToList());
然后,你可以简单地随机化列表(使用诸如按Guid排序的方法)。我会写一个快速答案(请注意,这可能不是最有效的方法)。 - Rudi Visser